git,vimdiff和dirdiff [英] git, vimdiff and dirdiff
问题描述
我正在尝试使用vimdiff + dirdiff.vim 在Vim中使用Git版本的多个文件。
对于Mercurial,可以使用 mercurial extdiff 扩展名。
我在网上发现的将Vim与Git diff集成的唯一方法是使用vimdiff在单个文件中,如此文所述。
有没有人知道如何使用vimdiff + dirdiff + git?
版本1.7.11
git-diffall
是我需要的,非常感谢。在这个页面的帮助下,了解有关git difftool和这个 关于从命令行运行vim + dirdiff,我写了 $ HOME / .gitconfig
as:
[diff]
工具=默认difftool
[difftool默认difftool]
cmd = vim -f'+ next''+执行\DirDiff \argv(0)argv(1)'$ LOCAL $ REMOTE
[ difftool]
prompt = false
把 git-diffall
在我的 PATH
中,我可以比较工作目录的分支 dev
:
git diffall dev
如果我想从Vim持续修改工作目录, - copy-back
也是我需要的:
git diffall --copy-back dev
由于git版本1.7.11
自版本 1.7.11 ,git difftool学会了--dir-diff选项,它简化了一些事情, git-diffall
不再需要。
.gitconfig
包含:
[差异]
pre>
工具=默认差异工具
[difftooldefault-difftool]
cmd = vim -f'+ next''+ execute \DirDiff \argv(0)argv(1)'$ LOCAL $ REMOTE'+语法关闭'
例如工作目录与分支
dev
的区别在于:git difftool -d dev
I'm trying to use vimdiff+dirdiff.vim to diff inside Vim multiple files versionned with Git.
For Mercurial, it is possible with mercurial extdiff extension.
The only way I found on the web to integrate Vim with Git diff is to use vimdiff on a singe file, as describe in this post.
Does any one know how to use vimdiff+dirdiff+git?
解决方案Before git version 1.7.11
git-diffall
is what I need, thanks a lot. With help of this page about git difftool and this one about running vim+dirdiff from command line, I wrote my$HOME/.gitconfig
as:[diff] tool = default-difftool [difftool "default-difftool"] cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE [difftool] prompt = false
After putting
git-diffall
in myPATH
, I can diff for example working directory with branchdev
with:git diffall dev
The
--copy-back
is also what I need if I want to modify the working directory persitantly from Vim:git diffall --copy-back dev
Since git version 1.7.11
Since version 1.7.11, "git difftool" learned the "--dir-diff" option that simplify things and
git-diffall
is no longer needed.
.gitconfig
contains:[diff] tool = default-difftool [difftool "default-difftool"] cmd = vim -f '+next' '+execute \"DirDiff\" argv(0) argv(1)' $LOCAL $REMOTE '+syntax off'
And diffing for example working directory with branch
dev
is done with:git difftool -d dev
这篇关于git,vimdiff和dirdiff的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!