mar*_*t1n 5 xml git merge conflict git-rerere
好的,这是我的问题."git rerere"比较两个文件的哈希来计算分辨率吗?也就是说,我有一个包含此标记的XML文件:
<number>12</number>
Run Code Online (Sandbox Code Playgroud)
当我遇到冲突时,这个数字通常会改为13,14等,所以我坚持:
<<<<<<<
<number>12</number>
=======
<number>13</number>
>>>>>>>
Run Code Online (Sandbox Code Playgroud)
即使数字与上次不同,是否可以重新自动解决此冲突?我总是希望它以这样的方式解决它,它需要更高的数字(例如上面的例子,13).因此,如果它记录了数字12和13的分辨率,它是否会解决与不同数字的冲突?我怀疑它不会,但不妨问.
即使数字与上次不同,是否可以重新自动解决此冲突?我总是希望它以这样的方式解决它,它需要更高的数字(例如上面的例子,13).
不,git rerere不能那样做.
当你使用时git rerere,你要求它记住两件事:
因为这些是大块文字(例如"用12替换12")而不是某种转换函数(例如"用N + 1代替N"),git无法推断出你想用更高的数字替换每个数字.
如果git稍后遇到与之前记忆的任何冲突都不匹配的冲突,那就好像它从未遇到过这种冲突,即使它可能是相似的(例如,在你的例子中,数字总是一次关闭).
如果自动生成此XML文件,则可以采用一种方法.在这种情况下,您可能想要考虑根本不将它保留在源代码控制中,而是在运行时生成它.然后你永远不会有相应的冲突来清理.
另一种方法是git rerere完全避免,而是编写一个自定义合并驱动程序,为您解决问题.我以前做过这个,但这是一项非常重要的工作,它要求你编写和测试一些代码.如果你有兴趣在此策略,请参阅该链接在卡尔的回答.
| 归档时间: |
|
| 查看次数: |
268 次 |
| 最近记录: |