git difftool给目录比较?

Ian*_*han 32 git diff beyondcompare

是否可以通过git difftool命令打开已更改文件与登台/已检查文件之间的目录比较?

理想情况下,如果2个文件已更改,则它们将是显示的唯一2个,但在目录比较中.

我已经阅读了关于获取git以并行提供所有文件差异的帖子,因此像BeyondCompare这样的工具在选项卡中有所有差异,但我对此并不满意!

可以将已更改文件的副本从登台/签入文件中提取到临时文件夹中,然后将其打开.这是唯一的选择吗?

Von*_*onC 44

2012年6月更新(2年半后):

这(比较目录而不是逐个文件)似乎很快就会出现:
[ANNOUNCE] Git 1.7.11.rc1:

" git difftool"学会了" --dir-diff"选项来生成外部差异工具,这些工具可以在填充两个临时目录后一次比较两个目录层次结构,而不是每个文件对运行一次外部工具实例.

请参阅" 修补程序difftool:教授difftool处理目录差异 "


原始答案(2010年1月)

可以将已更改文件的副本从登台/签入文件中提取到临时文件夹中,然后将其打开.这是唯一的选择吗?

基本上是的:

你的difftool脚本会:

  • 创建2个临时目录
  • 将自己定义为差异工具
  • 叫git diff
    • 然后调用自己的文件到差异
    • 在该模式下,对于每个文件,相同的脚本仅将两个版本复制到两个临时目录中的diff
  • 然后继续在两个临时目录上调用diff工具(如beyondCompare或WinMerge)

你在这个问题中有一个第一个例子.