Git Diff输出到文件保留着色

有没有可能混淆diff,将输出保存到具有着色function的文件中?

我知道如何git diff> filename.rtf – 保存到一个文件,但我想保留着色。

尝试:

git diff --color > foo.txt 

在SublimeText2中打开输出diff文件,显示diff颜色。

Vim以漂亮的颜色显示包含git diff的文件。

git diff

扩展@ Gabe的答案。

你可以通过pipe道输出到一个ANSI到HTML转换器的bash脚本,并将输出指向一个html文件:

 git diff --color|./ansi2html.sh > changes.html 

当然HTML可以被任何浏览器查看,所以输出可以在Windows中读取等。

ansi2html代码在这里: http ://www.pixelbeat.org/scripts/ansi2html.sh

用.diff扩展名保存文件,并在Notepad ++中打开它。

 git diff > 20150203_someChanges.diff 

谢谢@Monsingor

我在这里find了答案: 特定git命令的颜色输出 。

您可以将-c color.ui=always传递给任何git命令,并在redirect时保持着色。 例如: git -c color.ui=always status > file

 git remote add -fb path/to/repo_b.git git remote update git diff master remotes/b/master > foo.txt 

在'* .txt'文件中提取的差异很容易被SublimeText2读取,而不需要设置(通过View – > Syntax – > Diff)。

你可以上传到GitHub并提供一个链接到相关的提交。