gpt4 book ai didi

xml - git rerere 如何找出两个冲突之间的相似之处?

转载 作者:数据小太阳 更新时间:2023-10-29 01:54:33 26 4
gpt4 key购买 nike

好的,我的问题来了。“git rerere”是否比较两个文件的哈希值来找出解决方案?也就是说,假设我有一个包含此标记的 XML 文件:

<number>12</number>

当我遇到冲突时,该数字通常会更改为 13、14 等,所以我坚持使用:

<<<<<<<
<number>12</number>
=======
<number>13</number>
>>>>>>>

即使数字和上次不一样,rerere 能自动解决这个冲突吗?我总是希望它以采用更大数字的方式解决它(在上面的示例中,13)。那么如果记录12号和13号的解决方案,是否会解决不同号码的冲突呢?我怀疑它不会,但不妨问问。

最佳答案

Can rerere automatically resolve this conflict even if the numbers are not the same as the last time? I always want it to resolve it in such a way that it takes the higher number (in example above, 13).

不,git rerere 不能那样做。

当你使用 git rerere 时,你要求它记住两件事:

  • 一个特定的冲突(即发生冲突的帅哥的文字文本和他们所在的文件);和
  • 应适用于该冲突的解决方案

因为这些是大量的文字(例如“用 13 替换 12”)而不是某种转换函数(例如“用 N + 1 替换 N”),所以 git 无法推断你想用更大的数字替换每个数字。

如果 git 之后遇到一个与它之前记住的任何冲突都不匹配的冲突,就好像它根本没有遇到过那个冲突,即使它可能是相似的(比如在你的例子中,数字总是一个关闭)。

如果此 XML 文件是自动生成的,则有一种解决方法。在这种情况下,您可能需要考虑根本不将其保留在源代码管理中,而是在运行时生成它。那么您将永远不会有相应的冲突需要清理。

另一种方法是完全避免 git rerere,而是编写一个自定义 merge 驱动程序来为您解决问题。我以前做过这个,但这是一项非常重要的工作,它需要您编写和测试一些代码。如果您对此策略感兴趣,请参阅 the linkKarl's answer .

关于xml - git rerere 如何找出两个冲突之间的相似之处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10218922/

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