我的git diff有问题。让我先介绍一下历史。
我刚从客户处获得了一个相当不受欢迎的项目。问题是他们的scm中有2个分支。这两个分支已经合并多年了,现在他们必须合并它们。大多数更改都是微不足道的,因此通过git进行合并只需要大约30分钟。
但是,我的客户不相信合并流程可以自动化。因此,他们希望通过在所有4个版本的代码(基础和版本a,基础和版本b,a和b等)之间存在差异的差异列表来审查合并。
这也很微不足道,但问题出现了。由于这些与分支之间存在许多变化,因此差异列表非常长(每个大约50Mb),因此列表是无用的。现在我的客户希望将更改分组。
这些“分组差异”中有4个主要组。我想让git diff能够忽略它上面的各个组。
g1:有很多斜线改变了方向。所以我想git来解释/和\相似。我已经找到了如何使git忽略整行,如果它包含斜杠,但这不是我想要的,因为路径(斜杠的来源)可能已经改变。
g2:这个问题与上述问题非常相似,除非我涉及更多符号。日志记录中有很多格式已被更改。主要与丹麦字母有关,即'æ'已改为'& aelig;','ø'已改为'& oslash;”等
g3:很多评论已经改变。客户担心某些'* /'可能尚未合并。我看不出如何验证这一点。你们有谁有想法?
g4:以上未提及的所有内容。这被认为是真正的变化。
答案 0 :(得分:1)
您可以编写一些可以解析差异并删除或删除其中一些更改的内容。一些正则表达式魔法可能会帮助你。我认为这最适用于g1和g2。
不确定如何处理g3。