有没有办法使用 vimdiff 比较文件的当前版本和同一文件 n git 版本之前的版本?
例如,我正在处理master分支上的文件foo.c。我想在master~10的 foo.c 和 foo.c 之间做一个 vimdiff ,从旧版本复制一两行。
PS我知道git cherry pick,但这是针对整个文件,而不仅仅是几行。
呸!实时调频。我正在添加一个关于这不是git difftool用例的 PPS ,然后开始想知道“ git difftool 到底做了什么...... ”。
解决方案是:
git difftool master master~10 -- foo.c
也就是说,假设 difftool 已经在 ~/.gitconfig 中正确设置:
[diff]
tool = vimdiff
[difftool]
prompt = false
对于在 Vim 下使用 Git,fugitive.vim - 一个非常棒的 Git 包装器,它应该是非法的插件非常有用。一探究竟!
vimdiff 可以用:Gdiff [revision]
.
在不覆盖 git 配置的情况下工作的解决方案是
vimdiff file.tex <( git show master~2:file.tex )