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

21

有没有一种方法可以使用vimdiff比较当前版本的文件和git中几个版本之前的相同文件?

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

PS我知道git cherry pick,但那是针对整个文件而不是只有几行。

4个回答

19
我正在添加一个关于这不是一个适用于git difftool的用例的PPS,然后开始思考“git difftool到底是做什么的...”。
解决方案是:
git difftool master master~10 -- foo.c

假设difftool已经在~/.gitconfig中正确设置好了。
[diff]
  tool = vimdiff
[difftool]
  prompt = false

11

8
不需要覆盖git配置的解决方案是:
vimdiff file.tex <( git show master~2:file.tex )

3

哇,Trev,你真是太快了。你怎么能这么快地看到这个问题,你有一个机器人在运行吗?!?! - Sonia Hamilton

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接