如何巧妙地打印出git-diff输出?

时间:2012-09-28 16:12:44

标签: git printing diff git-diff

对于即将到来的学士论文,我需要打印出本文附录的git-diff输出。我非常喜欢git diff --color-words的输出,但我完全不知道如何将这个 - 彩色和包含行号 - 带到我的Mac上的一张纸上。我知道有像SourceTree这样的工具,但即使是那些我似乎无法用单个文件差异打印出来的那些工具。

嗯,我很确定我不能成为唯一一个有这个问题的人,我发现了一些建议的ansi2html解决方案,但它们似乎与我的git版本(1.7.10.2)无关。我还想过简单地打印Github提交页面(这非常漂亮,看起来像我需要的那样),但是当我尝试打印时,浏览器会自动删除所有着色和格式。

感谢您的帮助!

3 个答案:

答案 0 :(得分:13)

使用aha。您可以使用sudo apt-get install aha在ubuntu中安装它。另请参阅https://github.com/theZiz/aha

$ git diff --color-words | aha > index.html
$ firefox index.html

Firefox应该能够以彩色打印。查看aha --help了解其他一些很酷的选项。

答案 1 :(得分:7)

我刚试过在Github上托管的npm包:pretty-diff

您可以通过npm安装它并像git-diff一样运行它,例如:

pretty-diff HEAD^

将打开一个新的浏览器窗口,您可以将其另存为html。我试图在不同的浏览器中再次打开它,颜色仍在显示。您还可以使用github帐户创建要点并共享它们。

答案 2 :(得分:0)

由于您将Mac与终端应用程序一起使用,因此就像从终端剪切并粘贴到另一个应用程序一样简单。