gpt4 book ai didi

git - 如何在 WSL2 上将 Meld 用作 git mergetool 和 difftool?

转载 作者:行者123 更新时间:2023-12-04 02:31:49 25 4
gpt4 key购买 nike

在 WSL2 (Ubuntu) 中,如何使用在 Windows 上本地安装的 Meld 作为 git merge 和 diff 工具?
所以像 git mergetool 这样的命令& git difftool从 WSL 在 Windows 上打开 Meld。

最佳答案

制作 meld通过链接可以在 WSL 中轻松访问:

sudo ln -s /mnt/c/Program\ Files\ \(x86\)/Meld/Meld.exe /usr/local/bin/meld
在 WSL 中编辑 ~/.gitconfig并添加:
[diff]
tool = meld
[difftool "meld"]
cmd = meld \"$(wslpath -aw $LOCAL)\" \"$(wslpath -aw $REMOTE)\"
[merge]
tool = meld
[mergetool "meld"]
cmd = meld --auto-merge \"$(wslpath -aw $LOCAL)\" \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $REMOTE)\" --output \"$(wslpath -aw $MERGED)\" --label=Local --label=Base --label=Remote --diff \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $LOCAL)\" --diff \"$(wslpath -aw $BASE)\" \"$(wslpath -aw $REMOTE)\"
制作 git difftool --dir-diff工作,您需要将它与 --no-symlinks 一起使用(从 Windows 应用程序打开时, \\wsl$\ 中的符号链接(symbolic link)目前似乎不起作用)。一旦 Meld 关闭,更改仍将被复制回源文件。因为我经常使用 git dir diff 工具,所以我在上面的文件中添加了这些别名:
[alias]
dt = !git difftool --dir-diff --no-symlinks -t meld
mt = !git mergetool -t meld

关于git - 如何在 WSL2 上将 Meld 用作 git mergetool 和 difftool?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63810361/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com