5

我有 git diff 的问题。让我先给你介绍一下历史。

我刚刚从客户那里得到了一个相当不受欢迎的项目。问题是他们的 scm 中有 2 个分支。这两个分支已经很久没有合并了,现在他们必须合并它们。大多数更改都是微不足道的,因此通过 git 合并只需大约 30 分钟。

但是,我的客户不相信合并过程可以自动化。因此,他们希望通过一个差异列表来审查合并,其中包含所有 4 个正在运行的代码版本(基础和版本 a、基础和版本 b、a 和 b 等)之间的差异。

这也很简单,但问题来了。由于这些分支之间有很多变化,差异列表非常长(每个大约 50Mb),因此这些列表是无用的。现在我的客户想要对更改进行分组。

这些“分组差异”中有 4 个主要组。我想让 git diff 能够忽略它上面的各个组。

g1:有很多斜线改变了它们的方向。因此,我希望 git 解释 / 和 \ 一样。我已经找到了如何让 git 忽略整行,如果它包含斜杠,但这不是我想要的,因为路径(斜杠的来源)可能已经改变。

g2:这个问题非常像上面的结构问题,除了我涉及更多的符号。日志中有很多格式已更改。主要与丹麦字母有关,即 'æ' 已更改为 'æ','ø' 已更改为 'ø' 等等

g3:修改了很多评论。客户担心某些'*/'可能没有被合并。我看不到如何验证这一点。各位专家有什么想法吗?

g4:所有上面没有提到的。这被认为是真正的变化。

4

1 回答 1

1

您也许可以编写一些东西来解析差异并删除或删除其中一些更改。一些正则表达式魔法可能会帮助你。我认为这最适用于 g1 和 g2。

不知道如何处理 g3。

于 2010-12-16T20:27:32.003 回答