Linux 差分的标准化差分

Linux 差分的标准化差分,linux,git,diff,Linux,Git,Diff,简言之,我的问题如下。我将在后面解释其基本原理,这与问题本身无关。有时,git diff为同一变更集生成不同的差异。例如,当一大块代码被完全不同的大块代码替换时,就会发生这种情况。这种变化,可以用不同的术语表示,如添加2行、删除4行、添加5行等,或者删除4行、添加7行等。我希望它以某种方式保持一致 问题是如何使差异规范化,即导致相同的变化总是产生相同的差异?从我的头顶上-使差异贪婪或什么的 它让我如此恼火的原因如下。我使用了很多我们称之为diff of the diff的技术。如果我在解释一些琐

简言之,我的问题如下。我将在后面解释其基本原理,这与问题本身无关。有时,git diff为同一变更集生成不同的差异。例如,当一大块代码被完全不同的大块代码替换时,就会发生这种情况。这种变化,可以用不同的术语表示,如添加2行、删除4行、添加5行等,或者删除4行、添加7行等。我希望它以某种方式保持一致

问题是如何使差异规范化,即导致相同的变化总是产生相同的差异?从我的头顶上-使差异贪婪或什么的


它让我如此恼火的原因如下。我使用了很多我们称之为diff of the diff的技术。如果我在解释一些琐碎的事情,请容忍我。在我解决git rebase冲突后,我生成旧更改的统一差异,即在重新设置基础之前在分支中的这个特定提交,以及新更改,即当前索引与HEAD,然后将这些差异相互区分。这种差异作为冲突解决方案的合理性检查是令人惊讶的-您可以立即看到特定的冲突只是因为上下文更改等原因。

问题是?如何制造这样一个怪兽?你发现自己每月解决多少git rebase冲突?只是好奇。@JohnZwinck个人冲突?就像一个失败的diff块?几十个,如果不是几百个的话。@JohnZwinck在我们公司,有一项政策,就是在推动改变之前,对master进行重新调整。这样,历史总是线性的。在过去的两个月里,我一直在做一个大约40次提交的特性分支。我每周一到两次给不断进步的大师重新设定基准——否则,最终的重新设定基准将非常痛苦,我将不可避免地在某个地方搞砸。因此,应用40次提交总是会导致冲突。