20

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

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

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

4

4 回答 4

18

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

解决方案是:

git difftool master master~10 -- foo.c

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

[diff]
  tool = vimdiff
[difftool]
  prompt = false
于 2013-02-28T06:26:19.930 回答
11

对于在 Vim 下使用 Git,fugitive.vim - 一个非常棒的 Git 包装器,它应该是非法的插件非常有用。一探究竟!

vimdiff 可以用:Gdiff [revision].

于 2013-02-28T08:16:04.727 回答
7

在不覆盖 git 配置的情况下工作的解决方案是

vimdiff file.tex <( git show master~2:file.tex )
于 2017-04-29T11:07:28.450 回答
3

使用 vimdiff 查看所有 `git diffs`的可能重复项

于 2013-02-28T06:29:00.513 回答