【问题标题】:What should I do when I get "TortoiseMerge cannot be used without a base"?出现“TortoiseMerge 没有底座不能使用”怎么办?
【发布时间】:2013-05-27 18:51:27
【问题描述】:
我在我的 Windows 机器上为 Git 使用 msysgit。我安装了 TortoiseGit 主要是因为我喜欢 TortoiseMerge 和日志功能。大多数时候,当我使用git mergetool 解决合并冲突时,TortoiseMerge 会正常打开并让我合并。有时,我得到“TortoiseMerge 不能在没有基础的情况下使用”。我认为这意味着提到的文件需要在文本编辑器中打开才能手动合并。响应“TortoiseMerge 不能在没有基础的情况下使用”错误/消息的最有效方法是什么?
【问题讨论】:
标签:
git
tortoisegit
msysgit
tortoisegitmerge
【解决方案1】:
遇到了这个问题,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。
【解决方案2】:
只要没有基本文件(即文件在两个分支之间的最后一个共同祖先的树中不存在),就会出现此消息。 TortoiseMerge 无法处理没有基础的三向合并。
您最好的选择是使用不同的工具。我个人使用 kdiff3,它可以毫无问题地处理这种特定情况,但还有其他的。