当我得到“TortoiseMerge不能没有基础”时我该怎么办?

时间:2013-05-31 21:01:39

标签: git tortoisegit msysgit tortoisegitmerge

我在我的Windows机器上使用msysgit for Git。我安装了TortoiseGit主要是因为我喜欢TortoiseMerge和日志功能。大多数情况下,当我使用git mergetool来解决合并冲突时,TortoiseMerge会正常打开并让我合并。有时,我得到“没有基地就不能使用TortoiseMerge”。我认为这意味着所提到的文件需要在文本编辑器中打开才能手动合并。什么是响应“TortoiseMerge不能没有基础”错误/消息的最有效方式?

2 个答案:

答案 0 :(得分:9)

只要没有基本文件(即两个分支之间的最后一个共同祖先的树中不存在该文件),就会发生此消息。 TortoiseMerge无法处理没有基础的三向合并。

您最好的选择是使用其他工具。我个人使用kdiff3,它可以毫无问题地处理这个特定的情况,但还有其他的。

答案 1 :(得分:0)

解决了这个问题,kdiff3也不起作用。

我终于用了乌龟。在您的全局.gitconfig

[merge]
    tool = tortoise
[mergetool "tortoise"]
    cmd = "/c/Program\\ Files/TortoiseSVN/bin/TortoiseMerge.exe" -base:"$BASE" -theirs:"$REMOTE" -mine:"$LOCAL" -merged:"$MERGED"

以上配置使用我的旧Tortoise SVN(不是GIT)。我建议新用户下载TortoiseGit并使用此配置:

[mergetool "tortoise"]
    cmd = "/c/Program\\ Files/TortoiseGit/bin/TortoiseGitMerge.exe" -base:"$BASE" -theirs:"$REMOTE" -mine:"$LOCAL" -merged:"$MERGED"

更新配置后,如果您使用的是Git Bash,请重新启动终端。 另外,如果尚未完成,您可能必须致电git config merge.tool tortoisemerge