使用Vimdiff查看所有“ git diffs”
题
我设置 git diff
用来纳入Vimdiff,使用”vimdiff的git差异“作为指导,除非有很多更改的文件,否则它会按预期工作。
当有多个文件带有更改并运行时 git diff
, ,它打开第一个文件,并在退出Vimdiff的第一个实例后,向我介绍了以下消息:
external diff died, stopping at filename
这是与我过去完全不同的行为。过去,我使用SVN有类似的设置,并且在与多个文件差异时,我会查看第一个文件,然后使用和退出 :wq
下一个具有差异的文件将打开。
Git并非如此。我试过 :n[ext]
, ,但是这样做不会用原始文件填充左窗口,以便可以在修改版本中扩展它。
解决方案
git config --global diff.tool vimdiff
git config --global difftool.prompt false
git config --global alias.d difftool
打字 git d
产生预期行为,打字 :wq
在VIM循环中,在更改集中的下一个文件中。
其他提示
你可以试试 git difftool
, ,它旨在做这些事情。
首先,您需要将diff工具配置为vimdiff
git config diff.tool vimdiff
然后,当您想分开时,只需使用 git difftool
代替 git diff
. 。它将按照您的期望工作。
Git accepts kdiff3, tkdiff, meld, xxdiff, emerge, vimdiff, gvimdiff, ecmerge,
and opendiff as valid diff tools. You can also set up a custom tool.
git config --global diff.tool vimdiff
git config --global diff.tool kdiff3
git config --global diff.tool meld
git config --global diff.tool xxdiff
git config --global diff.tool emerge
git config --global diff.tool gvimdiff
git config --global diff.tool ecmerge
不隶属于 StackOverflow