用vimdiff查看所有`git diffs`
我将git diff
设置为vimdiff,使用“ Git Diff with Vimdiff ”作为指导,并且按照预期工作,除非有许多文件有更改。
当有多个文件发生变化,我运行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
产生预期的行为,在vim中键入:wq
周期更改为变更集中的下一个文件。
你可以尝试git difftool
,它被devise来做这个东西。
首先,您需要将diff工具configuration为vimdiff
git config diff.tool vimdiff
然后,当你想diff,只需使用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