有没有办法使用vimdiff来比较文件的当前版本和n git版本之前的相同的文件?
例如,我正在 master 分支上的 foo.c 文件上工作。我想在 master~10 的foo.c和foo.c之间做一个vimdiff,从旧版本复制一两行。
PS我知道 git cherry pick ,但这是针对整个文件的,而不仅仅是几行。
答案 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 )