我的.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,但是文件的内容根本没有显示。

我在设置中做错了什么?

最佳答案

我觉得现有答案略有遗漏。这是我自己的狗粮:

atlassian-sourcetree - 如何在Windows上将Meld用作与Sourcetree的合并工具?-LMLPHP

参数详细信息:

Diff:  $LOCAL $REMOTE
Merge: $LOCAL $BASE $REMOTE --auto-merge --output=$MERGED

对于External Diff,您需要从参数列表中删除$ BASE。

对于三向合并,您需要单击External Merge Tool选项,该选项仅在存在任何未解决的冲突时可用。

atlassian-sourcetree - 如何在Windows上将Meld用作与Sourcetree的合并工具?-LMLPHP

如果您不局限于Sourcetree + Meld,我认为Git Extensions + KDiff3套件也可以是一个很好的开源替代方案。

关于atlassian-sourcetree - 如何在Windows上将Meld用作与Sourcetree的合并工具?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28542251/

10-13 09:25