gpt4 book ai didi

git - 如何使用 git --word-diff 显示空格差异?

转载 作者:太空狗 更新时间:2023-10-29 13:01:23 34 4
gpt4 key购买 nike

为了说明问题:参见 diff

本段中唯一的差异(从A macro that needs开始)是空白差异(在某些地方插入/删除换行符);

  • 运行 git diff 时,前面的段落用红色显示,后面的段落用红色显示,很难看出区别
  • 当运行 git diff --word-diff 时,它以灰色显示后面的段落,不显示空格更改
  • 在运行 git diff --word-diff-regex=. 时它显示了空格的变化(太棒了!)但是 [编辑] 它逐个字符进行差异化,这通常是不可读的,因为它混合了字母来自不同的词以最小化差异,例如:git show --word-diff-regex=. 4a720394bba39ce1e67d518b909cbb1c25f63d09
    [- * patch compile-]r [-so `isM-]a[-inModule`-] [-当 -d:isMainModuleIsAlwaysTr-]{+m+}u[-e-] 时为真
    [- T-]{+c+}h[-at'll give speedup-] be[-nefi-]t[-, and we don't'-]t[- hav-]e{+r+} [-to p -]{+w+}a[-tch stdlib 文件-]{+y+}。
    ]#

我想要的是在运行 --word-diff(或--word-diff-regex)时显示空格差异的选项,例如通过 {+ +}[- -];注意:对于 --word-diff=color 最好将这些显示给,例如也可以通过 {+ +}[- -] 因为否则这些就会消失。

注意:我在我的 gitconfig 中使用了颜色。

备注:this没有帮助,因为空格差异未显示在 git diff --word-diff=porcelain

的输出中

最佳答案

--word-diff-regex 命令允许您指定一个正则表达式来自定义 --word-diff 行为。使用句号 (.) 的常见示例将给出逐字符匹配,因为句号正则表达式匹配任何字符。当未指定正则表达式时,默认值因文件类型而异,但通常会忽略空格更改,同时还将它们用作单词边界。

您可以使用正则表达式将行划分为单词以及空白区域,方法如下:

git diff --word-diff-regex="[ ]+|[^ ]+"

通过稍微调整您的链接示例的版本,可以看到 git diff --word-diff-regex=. 的问题:

enter image description here

虽然 git diff --word-diff-regex="[ ]+|[^ ]+" 会给你:

enter image description here

关于git - 如何使用 git --word-diff 显示空格差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52123651/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com