为什么 git difftool 在发生冲突时不打开 vimdiff?
Why git difftool does not open vimdiff in case of conflicts?
看完this,
我通过将以下行添加到我的 ~/.gitconfig:
来配置 git 使用 vimdiff 作为 diff/merge 工具
[diff]
tool = vimdiff
[merge]
tool = vimdiff
[difftool]
prompt = false
[alias]
d = difftool
但是 git difftool
仍然只打印 diff(没有 vimdiff)。有什么想法吗?
更新。
似乎 git difftool
工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是,如果我在与冲突合并后执行 git difftool
,它无法打开 vimdiff。任何想法为什么?
我不知道 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
好的,我找到了答案here。
如果发生冲突,必须使用 git mergetool
而不是 git difftool
。
看完this, 我通过将以下行添加到我的 ~/.gitconfig:
来配置 git 使用 vimdiff 作为 diff/merge 工具[diff]
tool = vimdiff
[merge]
tool = vimdiff
[difftool]
prompt = false
[alias]
d = difftool
但是 git difftool
仍然只打印 diff(没有 vimdiff)。有什么想法吗?
更新。
似乎 git difftool
工作正常,如果我在 repo 中有一些未提交的更改,即它按预期打开 vimdiff。但是,如果我在与冲突合并后执行 git difftool
,它无法打开 vimdiff。任何想法为什么?
我不知道 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
好的,我找到了答案here。
如果发生冲突,必须使用 git mergetool
而不是 git difftool
。