保存 Git 显示的彩色输出

save colored output from Git Show

有没有办法保存 git show 的彩色输出?

我看到 post 关于使用 different editor。但这比我想做的要多得多。我只想捕获一份视觉上易于阅读的报告。

像这样为您的 git 命令添加前缀

 git -c color.status=always 

而且颜色会一直产生

您可以使用带语法高亮的 VIm 和 TOhtml 命令。

git show COMMIT:FILE.abc | vim -c "set filetype=abc" -c "TOhtml" -c "x git_show.html" -c "qa!" -

其中:

  • FILE.abc 是由 COMMIT 哈希码
  • 定义的过去版本中显示的文件

:

  1. html 结果文件将被命名为 git_show.html 并且位于当前文件夹中。
  2. 你必须通过 将 abc 替换为另一个文件扩展名的正确文件类型,例如 cppjava.

解析这个长管道命令:

set filetype=abc : 激活语法高亮符合abc 输入
TOhtml : 使 VIm 将突出显示的打开文件导出到 HTML
x git_show.html : x 的行为类似于 wq,将文件保存为 git_show.html 然后关闭当前缓冲区。
qa! : 强制 VIm 退出而不保存任何其他内容
- (尾随) : 使 VIm 从 stdin

读取