如何解决如何在WSL2上将Meld用作git mergetool和difftool?
如何从WSL2(Ubuntu)中使用本地安装在Windows上的Meld作为git merge and diff工具?
这样WSL中的git mergetool
和git difftool
之类的命令就会在Windows上打开Meld。
解决方法
通过链接使其在WSL中易于访问meld
:
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$\
中的符号链接目前似乎不起作用)。关闭Meld后,更改仍将被复制回源文件。由于我经常使用git dir diff工具,因此我在上述文件中添加了这些别名:
[alias]
dt = !git difftool --dir-diff --no-symlinks -t meld
mt = !git mergetool -t meld
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。