对于我即将发表的学士论文,我需要打印论文附录的 git-diff 输出。我真的很喜欢
git diff --color-words
的输出,但我完全不知道如何将其(彩色且包含行号)带到我的 Mac 上的一张纸上。我知道有像 SourceTree 这样的工具,但即使有了这些工具,我似乎也无法从单个文件的差异中打印出漂亮的内容。
嗯,我很确定我不是唯一一个遇到这个问题的人,我找到了一些建议的 ansi2html 解决方案,但它们似乎不适用于我的 git 版本(1.7.10.2)。我还考虑过简单地打印 Github 提交页面(这真的很漂亮,看起来像我需要的),但是当我尝试打印它时,浏览器会自动删除所有颜色和格式。
感谢您的帮助!
使用
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
了解其他一些很酷的选项。
我刚刚尝试了 Github 上托管的 npm 包:pretty-diff
您可以通过 npm 安装它并像使用
git-diff
一样运行它,例如:
pretty-diff HEAD^
将打开一个新的浏览器窗口,您可以将其另存为 html。我尝试在不同的浏览器中再次打开它,但颜色仍然显示。您还可以使用您的 github 帐户创建要点并共享它们。
由于您使用的是带有终端应用程序的 Mac,因此只需从终端剪切并粘贴到另一个应用程序即可。
我发现非常有用的是将其通过管道传输到bat,一只现代猫。 如果您只想要特定的差异,则可以照常使用该命令。
git diff | bat
您还可以在 shell 配置文件中设置别名,以避免每次都输入它。