为什么git mergetool说“没有文件需要合并”?

时间:2015-08-29 20:34:29

标签: git

我正在尝试将BeyondCompare4配置为git中的difftool和mergetool。我正在使用git版本2.5.0.windows.1。到目前为止,BeyondCompare4作为difftool工作得很好,但不是合并工具。

在我的主分支机构中,我运行git mergetool branch3并以No files need merging

回复

但是当我运行git diff branch3时,我可以在一个文件中看到几种类型的差异(通常在同一行)。如果我只是运行git merge branch3,它会启动合并过程并停止CONFLICT。那么为什么git mergetool不能以同样的方式为我工作呢?

此链接提示git config --global core.trustctime false我试过没有运气: git mergetool reports "No files need merging"

此链接建议rerere可能是一个问题所以我尝试git config --global rerere.enabled false也没有运气: git tells me that I Merge conflict, but also tells me that no files need merging

这就是我的.gitconfig的样子:

[diff]
    tool = bc
[difftool]


    prompt = false
[difftool "bc"]
    trustExitCode = true
    cmd = 'c:/program files (x86)/beyond compare 4/bcomp.exe' $LOCAL $REMOTE


[merge]
    tool = bc
[mergetool]
     prompt = false
[mergetool "bc"]
    trustExitCode = true
    cmd = 'c:/program files (x86)/beyond compare 4/bcomp.exe' $LOCAL $REMOTE $BASE $MERGED

我甚至尝试修改.gitconfig将bcomp4.exe路径更改为虚假的东西只是为了看看我是否会收到错误。如果我对difftool进行更改,我会收到有关系统无法找到路径的错误。但是,如果我在mergetool上更改它,它只会说“没有文件需要合并”,这让我相信BeyondCompare4甚至没有运行。

感谢您提出git mergetool提前停止该消息的任何想法。

1 个答案:

答案 0 :(得分:4)

当您处于需要解决冲突的状态时,即在合并导致冲突后,您应该使用git mergetool

git checkout master
git merge branch3
# the merge reports conflicts which we need to resolve
git mergetool
git add -u
git commit -m "a merge commit message"

有关解决与meregetool冲突的更多信息,请访问https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging#Basic-Merge-Conflicts

请参阅git help mergetool了解选项。