I setup git diff
包装到 vimdiff 中,使用“Git 与 Vimdiff 的差异 http://technotales.wordpress.com/2009/05/17/git-diff-with-vimdiff/”作为指导,除非有许多文件发生更改,否则它会按预期工作。
当有多个文件发生更改并且我运行时git diff
,它打开第一个文件,退出第一个 vimdiff 实例后,我会看到以下消息:
external diff died, stopping at filename
这是与我习惯的完全不同的行为。我过去在 SVN 上有过类似的设置,当比较多个文件时,我会检查第一个文件,然后写入并退出:wq
然后将打开下一个有差异的文件。
Git 的情况并非如此。我试过:n[ext]
,但这样做不会用原始文件填充左侧窗口,以便可以将其与修改后的版本进行比较。
git config --global diff.tool vimdiff
git config --global difftool.prompt false
Typing git difftool
产生预期的行为。
导航命令,
-
:qa
在 vim 中循环到变更集中的下一个文件而不保存任何内容。
别名(示例)
git config --global alias.d difftool
..会让你输入git d
调用 vimdiff。
高级用例,
- 默认情况下,git 使用 -R 选项调用 vimdiff。您可以使用 git config --global difftool.vimdiff.cmd 'vimdiff "$LOCAL" "$REMOTE"' 覆盖它。这将以可写模式打开 vimdiff,允许在比较时进行编辑。
-
:wq
在 vim 中循环到更改集中的下一个文件并保存更改。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)