【发布时间】:2011-01-02 01:19:32
【问题描述】:
我喜欢使用git diff --color-words 来清楚地查看文件中已更改的单词:
但是,我想与没有 git 或彩色终端的人分享这个差异。那么有人知道可以将颜色转义的终端输出转换为HTML的工具或技巧吗?
【问题讨论】:
标签: html git colors diff terminal
我喜欢使用git diff --color-words 来清楚地查看文件中已更改的单词:
但是,我想与没有 git 或彩色终端的人分享这个差异。那么有人知道可以将颜色转义的终端输出转换为HTML的工具或技巧吗?
【问题讨论】:
标签: html git colors diff terminal
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/找到了一个非常不错的。
注意:除非包含 --color 或 --color-words,否则您可能看不到任何颜色,可能是因为管道导致 git diff 排除颜色。
注意 2:您可能需要安装 gnu sed 和 awk,尤其是在 Mac 上时。使用brew install gnu-sed gawk 执行此操作。您可能还需要手动将它们添加到您的路径中,例如ln -s /usr/local/Cellar/gnu-sed/4.2.2/bin/gsed /usr/local/bin/。
【讨论】:
git diff f0f7dfb4 43f7949 --color | ./ansi2html.sh > changes.html
【讨论】:
diff2html,因为它看起来很糟糕。
如果您想查看具有行相似性匹配、更好的单词比较、语法高亮和更多请查看diff2html,这是非常可自定义 git diff to HTML Presenter。
要在命令行上使用它,您可以查看diff2html-cli,这是一个用 Node.js 编写的简单 CLI。
因此您可以与与diffy.org 集成的同事分享您的差异。
查看差异示例here。
【讨论】:
npm之外,是否可以通过其他方式安装diff2html?
不知道任何工具可以完全按照您的意愿行事。但这里有一段代码我经常用来输出 html 格式的彩色差异:simplediff
它在 PHP 和 Python 中可用。输出使用 <del> 和 <ins> 标签标记差异,因此您可以使用 CSS 轻松为它们着色。
【讨论】:
我刚刚在 debian 存储库中找到了aha;这很简单:
git diff --color | aha > white.html # white background
git diff --color | aha --black > black.html # black background
git diff --color | aha --pink > pink.html # pink background
它很小的下载大小 (self-contained C file,只有 4 个包括:errno.h、stdlib.h、stdio.h 和 string.h,以及仅依赖于 libc。美女!
【讨论】:
您可能想查看 github 项目 rmed,它提供了一个命令行工具,可以使用 vimdiff 生成静态可共享的 html 差异。
【讨论】:
我创建了一个 perl 脚本来为 git diff 生成 html 表。要首先使用此脚本,您必须使用 git diff sha1s... > diff.file 收集差异,然后运行 diff2html.pl diff.file。 访问:
http://kernel-demystified.com/forum/index.php/topic,23.msg28.html#new
【讨论】:
Unable to determine IP address from host name kernel-demystified.com
当我使用 git bash 时,如果您使用 git show,您只需复制并粘贴控制台中显示的内容,它就会正确复制颜色。
【讨论】:
我知道这个问题很老了。但是,如果您使用的是 PHP,我刚刚共享了一个简单的渲染器,它为本地 git diff 控制台输出添加了一些样式:https://github.com/nrctkno/git-diff-renderer。
【讨论】: