两个文本html文件之间的差异

时间:2017-05-02 11:13:37

标签: git diff

我有一个HTML的规范的当前版本,以及一个较旧的规范。我希望能够获得一个HTML文件,显示旧规范和新规范之间的差异。

我的策略:

  • 找出如何在单词之间获得差异,而不是行
  • 了解如何使用<span class="addition"><span class="removal">替换差异输出,以对不同的添加和删除进行着色。

关于如何快速做到这一点的任何想法?

1 个答案:

答案 0 :(得分:2)

git diff有一个--word-diff选项:

  

- 字-DIFF [=&LT;模式&gt;]
   显示单词diff,使用分隔更改的单词。默认情况下,单词由空格分隔;请参阅下面的--word-diff-regex。默认为plain,并且必须是以下之一:

     

颜色
    仅使用颜色突出显示更改的单词。意味着 - 颜色。

     

平原
    将单词显示为[-removed-]和{+ added +}。如果分隔符出现在输入中,则不会尝试转义分隔符,因此输出可能不明确。

     


    使用特殊的基于行的格式用于脚本使用。添加/删除/未更改的运行以通常的统一diff格式打印,从行开头的+ / - / 字符开始并延伸到结尾     线。输入中的换行符由自己的行上的波浪号表示。

     


    再次禁用字差异。

     

请注意,尽管有第一个模式的名称,但如果启用了颜色,则使用颜色突出显示所有模式中已更改的部分。

您可以使用word-diff=plain并直接将[--]{++}替换为span标记,
或使用porcelain模式,该模式输出非模糊输出格式:
对于每个输出行,第一个字符告诉您在该行的其余部分表示了哪种数据:

  • ~:这是一行的结尾(在~之后应该没有文字或空格)
  • (空格):未更改的文本块
  • +:添加了一段文字
  • -:已删除的文本块