将Git diff着色为HTML

我喜欢使用git diff --color-words来清楚地看到文件中已经改变的单词:

截图

不过,我想和那些没有git或者彩色terminal的人分享这个差异。 那么有没有人知道一个工具或技巧,可以将颜色转义的terminal输出转换成HTML?

 wget "http://www.pixelbeat.org/scripts/ansi2html.sh" -O /tmp/ansi2html.sh chmod +x /tmp/ansi2html.sh git diff --color-words --no-index orig.txt edited.txt | \ /tmp/ansi2html.sh > 2beshared.html 

我真正需要的是一个ANSI到HTML转换器。 我在http://www.pixelbeat.org/上find了一个非常体面的。;

注意:除非包含--color--color-words ,否则可能看不到任何着色,可能是因为pipe道导致git diff排除颜色。

注2:您可能需要安装gnu sed和awk,特别是在Mac上时。 用brew install gnu-sed gawk 。 您可能还需要手动将它们添加到path中,例如,使用ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/

下载diff2html,解压缩并使用以下命令将diff转换为html:

 $ diff2html file1.txt file2.txt > diff-demo1.htm 

还有更多…看看这个问题。

或者在打洞后:

 git diff --color-words --no-index orig.txt /tmp/edited.txt > myfile 

从这个位置下载两个ansifilter。 并使用此命令将myfile转换为html格式

 ansifilter -i myfile -H -o myfile2.html 

所以…这正是你想要的;)

不知道任何工具来做你想要的。 但是这里有一段我​​经常用来输出html格式的color diff: simplediff的代码

它在PHP和Python中可用。 输出使用<del><ins>标签标记差异,以便您可以使用CSS轻松着色。

如果你想看到干净的差异行相似度匹配更好的单词比较语法突出和更多检查diff2html这是非常可定制的 git diff到HTML演示者。

要在命令行中使用它,你可以检查diff2html-cli ,这是一个用Node.js编写的简单CLI。

所以你可以分享你与diffy.org集成的同事的差异。

看看这里的差异样本。

我创build了一个perl脚本来为git diff生成html表格。 要首先使用这个脚本,你必须使用git diff sha1s …> diff.file来收集diff,然后运行diff2html.pl diff.file。 访问:

http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new

您可能希望检出github项目rmed ,它提供了一个命令行工具,它使用vimdiff生成静态的可共享的html diffs。

当我使用git bash时,如果你使用git show你只需要复制和粘贴在控制台中显示的内容,并且正确地复制颜色。