在Linux中,我最喜欢的合并工具是Meld,我在使用或配置它以使用Git时没有遇到任何问题。然而,在Windows中,情况就不同了。
首先,我从我在这里找到的包中安装了Meld:
https://code.google.com/p/meld-installer/
然后,我将我的.gitconfig配置为支持Meld作为默认的mergetool
[merge]
tool = meld
[mergetool "meld"]
path = C:\\Program Files (x86)\\Meld\\meld\\meld.exe
keepBackup = false
trustExitCode = false
所以,当我有冲突的时候,我会做git difftool,而Meld实际上是打开的。但是,Git写入以传递给diff工具的文件的路径是不正确的。例如,即使Git在存储库目录(我称之为git mergetool的位置)中生成基文件、本地文件和远程文件,Meld仍会尝试在可执行文件的目录中打开这些文件。
Meld尝试打开C:\Program Files (x86)\Meld\meld\roses.txt.LOCAL.2760.txt,而不是打开C:\repo\roses.txt.LOCAL.2760.txt。
以前有没有人遇到过这种情况,或者知道如何配置Git / Meld才能在Windows中正常工作?
发布于 2015-03-03 07:50:23
为什么不在Windows上使用git bash?
安装meld后,只需执行以下操作:
git config --global merge.tool meld
git config --global mergetool.meld.path "C:\Program Files (x86)\Meld\Meld.exe" <- path to meld here
这就是全部!
发布于 2013-02-26 02:57:21
Schuess,注意目录中的空格字符!
[merge]
tool = meld
[mergetool "meld"]
prompt = false
keepBackup = false
keepTemporaries = false
path = C:/Program Files (x86)/Meld/Meld.exe
cmd = \"/C/Program Files (x86)/Meld/Meld.exe\" \"$PWD/$LOCAL\" \"$PWD/$BASE\" \"$PWD/$REMOTE\" \"--output=$PWD/$MERGED\"
发布于 2013-02-20 09:56:56
我遇到了完全相同的问题,我发现我必须以暴力的方式让它工作。下面是我放在.gitconfig文件中的内容。(请注意,我的meld可执行文件位于不同的位置)
[merge]
tool = meld
[mergetool "meld"]
cmd = "/c/Meld/meld/meld.exe $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE --output=$PWD/$MERGED"
https://stackoverflow.com/questions/14821358
复制相似问题