Sourcetree没有推出Beyond比较外部合并工具

时间:2016-11-10 20:37:36

标签: git atlassian-sourcetree beyondcompare

突然,当我尝试从Sourcetree启动“外部合并工具”时,该工具不会出现。我突然说,因为我上次尝试时效果很好。对话框永远存在:

image description

最终我发现这个过程与视觉合并有关(不知道如何从Windows任务管理器复制命令行):

image description

顺便说一下,当我按下中止时,这个过程并没有消失,所以有人可能没有完成他们的功课。实际上,如果这个命令行没有六个相同的进程,我可能不会注意到它。

这些是我的设置:

image description

我该如何解决这个问题?我需要合并项目,我不知道该怎么做......

5 个答案:

答案 0 :(得分:2)

我发现当其中一个要合并的文件已被删除时会发生这种情况。在这种情况下,git打印出sourcetree无法处理的命令行提示符。然后git进程永远挂起。

处理此问题的最佳方法是终止挂起的git进程,然后使用我的/使用他们的手动进行选择。

答案 1 :(得分:0)

如果无法启动Sourcetree外部合并工具,可以使用:

sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

答案 2 :(得分:0)

除了Tomáš的答案外,您还可以在Windows的命令提示符中运行以下命令,以回答git-mergetool询问何时删除其中一个文件(甚至两个文件)的问题。

使用自己的CONFLICTED_FILE_PATH,您可能需要使用其他路径指向git-mergetool:

sh "c:\Program Files\Git\mingw64\libexec\git-core\git-mergetool" -y --tool=sourcetree -- CONFLICTED_FILE_PATH

答案 3 :(得分:0)

我的问题是我选择了工具本身,而不是工具的路径。这似乎是强制性的: enter image description here

您还可以在“ .gitconfig”文件(位于用户目录中)中看到此内容:

之前

rc

之后

[difftool "sourcetree"]
    cmd = '' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
    cmd = '' \"$BASE\" \"$LOCAL\" \"$REMOTE\" \"$MERGED\"

答案 4 :(得分:0)

对我来说,问题是我仍然将“合并工具”列为“系统默认值”。将该配置也更改为DiffMerge似乎已解决了该问题:

DiffMerge