GIT diff外部可视程序和输出文本差异

时间:2015-07-04 14:11:40

标签: git

是否可以配置GIT以便它将输出到可视差异程序(即Meld),并且还可以像运行GIT时一样转储文本,而无需安装可视差异程序。

对于meld我正在做类似的事情:https://nathanhoad.net/how-to-meld-for-git-diffs-in-ubuntu-hardy

#!/usr/bin/python
import sys
import os
os.system('meld "%s" "%s"' % (sys.argv[2], sys.argv[5]))

我尝试过的一件事是将python脚本更改为首先调用Meld,然后使用-no-ext-diff调用GIT并将其输出重定向到标准输出。由于我不想等待Meld完成,我用非阻塞subprocess.Popen替换了阻塞的os.system。这个问题是,在Meld可以读取它之前,git会删除从repo生成的tmp文件。

我希望有一种方法可以配置.gitconfig,这样它就会发送到diff程序并仍然在命令提示符下发送diff文本。

1 个答案:

答案 0 :(得分:0)

我不相信这个功能存在。我相信你能得到的最接近的是在你的bash(Linux或MacOSX)中创建一个执行类似命令的别名:

git difftool -y & git diff

这样它将打开外部差异工具并在控制台中打印差异。

相关问题