我的.gitconfig
文件中包含以下内容:
[user]
name = myname
email = [email protected]
[core]
autocrlf = true
excludesfile = C:\\Users\\myname\\Documents\\gitignore_global.txt
[diff]
tool = meld
[difftool "meld"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe"
prompt = false
[merge]
tool = meld
[mergetool "meld"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe"
[difftool "sourcetree"]
cmd = "C:/Program Files (x86)/Meld/meld/meld.exe $PWD/$LOCAL $PWD/$BASE $PWD/$REMOTE"
[mergetool "sourcetree"]
cmd = 'C:/Program Files (x86)/Meld/meld/meld.exe' \"$LOCAL\" \"$REMOTE\" \"$MERGED\"
trustExitCode = true
在Sourcetree中,我有以下设置:
但是,当我右键单击Sourcetree上的文件进行外部比较时,我可以打开Meld,但是文件的内容根本没有显示。
我在设置中做错了什么?
最佳答案
Diff: $LOCAL $REMOTE
Merge: $LOCAL $BASE $REMOTE --auto-merge --output=$MERGED
对于
External Diff
,您需要从参数列表中删除$ BASE。对于三向合并,您需要单击
External Merge Tool
选项,该选项仅在存在任何未解决的冲突时可用。如果您不局限于Sourcetree + Meld,我认为Git Extensions + KDiff3套件也可以是一个很好的开源替代方案。
关于atlassian-sourcetree - 如何在Windows上将Meld用作与Sourcetree的合并工具?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28542251/