默认的git diff行为是以串行方式打开每个diff文件(等待先前文件在打开下一个文件之前关闭).
我正在寻找一种方法来同时打开所有文件 - 例如,在BeyondCompare中,这将打开同一BC窗口中选项卡中的所有文件.
这样可以更轻松地查看一组复杂的变化; 在diff文件之间向后和向前翻转并忽略不重要的文件.
我设置git diff
包装到vimdiff,使用" Git Diff with Vimdiff "作为指南,除非有许多文件有变化,否则它按预期工作.
当有多个文件有变化并且我运行时git diff
,它会打开第一个文件,在退出第一个vimdiff实例后,我会看到以下消息:
external diff died, stopping at filename
Run Code Online (Sandbox Code Playgroud)
这是一种与我以前完全不同的行为.我在过去使用SVN时有类似的设置,在对多个:wq
文件进行区分时,我会查看第一个文件,然后编写并退出使用,下一个文件会有差异打开.
Git不是这种情况.我试过了:n[ext]
,但这样做并没有用原始文件填充左侧窗口,因此可以针对修改后的版本进行区分.
当合并分支或使用git difftool
它修改所有更改时,可能有必要Launch '$difftool' [Y/n]:
在每次调用工具之前询问,以便使长链的invokations可以中断SIGINT
.当特定文件作为参数传递时,它不会,AFAIK.如何在后一种情况下压制这个问题(因为问问前者是否有意义)?
我在Ubuntu 14.10上使用2.1.0.
编辑:看到为什么"git difftool"没有直接打开工具?我修改了这个问题,以便弄清楚如何处理这样一个事实,即询问是否有多个文件要进行区分.
我已经配置了p4merge,以便从命令行如果执行“ git difftool ...”,则可以正确打开外部diff工具。
我想从“ git gui”而不是命令行打开外部difftool。这可能吗?
看来git-gui允许一个添加工具。但是我不清楚如何使它工作。有指针吗?