gpt4 book ai didi

git diff 忽略行尾的分号

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

一位同事创建了一个提交,他的编辑在每一行中附加了分号(以及其他更改)。

我知道我可以使用 -w 开关来忽略空格错误。是否会有某种 git 魔法让 git 完全忽略 ;,或者仅在 EOL 时更好?

类似于:

git diff --ignore=; -w

最佳答案

也许您可以使用 --word-diff-regex 选项来解决这个问题。这就是我所做的:我创建了一个简单的文件并提交了以下内容。

first line
second line
third line

然后我修改成这样:

first line;
second; line;
third changed line;

如果我没理解错的话,你只需要显示以下差异:第二 -> 第二;第三行 -> 第三行改行

您可以部分执行此操作:

git diff  --word-diff-regex='[^ \\n;]+' HEAD..HEAD~1

这是输出:

first line
second line
third[-changed-] line

我说部分是因为即使我找到了一个正则表达式来检测第一个变化 ('[^\\n]+(?!\\n|$)'),git 也不会似乎接受它,出于某种我不知道的原因(我仍在努力)。

无论如何,它背后的逻辑是这个选项“覆盖”了 git 考虑单词的方式。我知道这不是正确的正则表达式,因为它没有涵盖多种情况,请根据您的需要更改它(例如,如果您考虑 test1;test2 一个词)。

关于git diff 忽略行尾的分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56315074/

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