这是我在git中的场景。我有一个特定的文件,在一个过程中由两个开发人员更新。让我们说Xml的原始内容是这样的。
<Type>
<Base name = "name1" />
</Type>
<Personal>
<Time name=one id=424 />
<Time name=two id=433 />
<Time name=three id=633 />
</Personal>
在Dev A上运行的工具 - &gt;检查出一个分支br_test。将以下内容添加到特定的xml文件中。
<Base name = "name2">
在Dev B上运行的工具 - &gt;检查出相同的分支br_test。将以下内容添加到特定的xml文件中。
<Base name = "name3">
现在,他们同时推动。其中一个通过。其他人必须先拉,再推。这是我的问题。
由于这是一个自动化工具,我不知道如何处理合并冲突。对于文件的不同内容,合并也会有所不同。例如,当添加Base元素时,我希望它附加到xml。当时间名称=&lt;&gt;添加了元素,我希望它覆盖。
看看有多复杂,我想知道是否有不同的方式。像我锁定/取得文件的所有权,以便其他人无法更新。我读到这在git中是不可能的,每个人都反对它。
那么,我的其他选择是什么?
感谢您的光临。
答案 0 :(得分:0)
如果Dev B在Dev A的工作之后开始工作,您的自动化工具会做什么?
这是你在解决冲突时回答的问题 - 假设Dev A首先推出而Dev B得到了冲突。
如果你无法回答这个问题,那么最好的办法就是完全忽略Dev B的变化,git checkout
Dev A的工作并重新做所有B&#39;在那边工作。这是确保您不会遇到任何问题的唯一方法。
过了一段时间,您应该了解XML文件的含义,然后您就能够解决冲突。但是 - 如果您不知道冲突的正确结果应该是什么,您希望该工具如何知道?