当前和之前的git版本的文件之间的vimdiff

时间:2013-02-28 06:17:07

标签: git vim vimdiff

有没有办法使用vimdiff来比较文件的当前版本和n git版本之前的相同的文件?

例如,我正在 master 分支上的 foo.c 文件上工作。我想在 master~10 的foo.c和foo.c之间做一个vimdiff,从旧版本复制一两行。

PS我知道 git cherry pick ,但这是针对整个文件的,而不仅仅是几行。

4 个答案:

答案 0 :(得分:14)

咄! RTFM。我正在添加一个关于这不是 git difftool 的用例的PPS,然后开始想知道“ git difftool到底做了什么... ”。

解决方案是:

git difftool master master~10 -- foo.c

也就是说,假设difftool已在〜/ .gitconfig中正确设置:

[diff]
  tool = vimdiff
[difftool]
  prompt = false

答案 1 :(得分:9)

为了在Vim下使用Git,fugitive.vim - A Git wrapper so awesome, it should be illegal插件非常有用。看看吧!

可以使用:Gdiff [revision]制作vimdiff。

答案 2 :(得分:3)

答案 3 :(得分:2)

无需覆盖git配置即可使用的解决方案

vimdiff file.tex <( git show master~2:file.tex )