git diff – 外部查看器 – 获取所有差异结果

配置外部差异时,每个文件显示结果,即查看当前运行差异查看器所需的下一个文件的差异.

有没有办法让git并行生成所有差异查看器进程?

如果我只是从外部diff脚本中生成进程,显然git会删除它用于比较的临时文件.

所以

#!/usr/bin/python
import subprocess
import sys
p = subprocess.Popen(('/usr/bin/meld', sys.argv[2], sys.argv[5]))
#p.wait()

没用,显示’无法读取’/tmp/.diff_VlLwKF’

但是,如果我取消注释

#p.wait()

一切正常,但同样,它是顺序产卵,而不是平行.

谢谢

最佳答案
我在SO上问了一个类似的问题,想要在BeyondCompare的标签中打开diff文件.我想出了这个:

for name in $(git diff --name-only $1); do git difftool $1 $name & done

这将获取已修改文件的列表,并在每个单独文件的后台任务中调用外部差异工具.

查看details here以及如何使其易于使用.对bash不熟悉我很想听到任何改进……

编辑1:添加了可选参数(例如’–staged’)
编辑2:添加了git别名(see link).

转载注明原文:git diff – 外部查看器 – 获取所有差异结果 - 代码日志