5

读完这篇文章后,我通过在 ~/.gitconfig 中添加以下行来配置 git 以使用 vimdiff 作为 diff/merge 工具:

[diff]
        tool = vimdiff
[merge]
        tool = vimdiff
[difftool]
        prompt = false
[alias]
        d = difftool

git difftool仍然只是打印差异(没有 vimdiff)。有任何想法吗?

更新。 似乎git difftool工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是,如果我git difftool在与冲突合并后打开 vimdiff,它将无法打开。任何想法为什么?

4

2 回答 2

4

好的,我在这里找到了答案。 git mergetool必须使用而不是git difftool在发生冲突的情况下使用。

于 2016-04-04T08:49:05.733 回答
1

我不知道why。但要修复它,请重置冲突文件的状态。

git status
    both modified: mymyfile.txt

git difftool myfile.txt #Fails
git reset myfile.txt

git status
    M myfile.txt

git difftool myfile.txt #should work
于 2016-03-31T08:10:25.023 回答