合并git中的XML文件更改

时间:2015-12-09 16:40:37

标签: xml git git-merge

当将一个git分支合并到另一个git分支时,合并冲突的常见来源是我的一个XML文件,其中在两个分支上的文件的同一插入点处添加了新的(但不同的)XML。在我的情况下,我希望git在合并结果中自动包含来自两个分支的新插入的XML,并且我不关心哪个分支的更改插入到另一个分支之上。

是否可以配置git来执行此操作?

编辑:我发现我可以放线:

*.xml   merge=union

进入.gitattributes文件 - 但这并不像我想要的那样工作。

在我的工作分支上说,已添加此XML:

<itemlist id="1">
   <item id="1"></item>
</itemlist>

然后在我打算合并到我的分支上,已添加 - 在完全相同的位置:

<itemlist id="2">
   <item id="2"></item>
</itemlist>

然后,git注意到两组更改都以相同的文本结尾(即带有结束标记的行)。它似乎认为,因为双方都添加了相同的文本,它不应该在合并中复制该文本,因此它只会在合并期间插入以下内容:

<itemlist id="2">
   <item id="2"></item>

当然会导致无效的XML。

我是否可以采取进一步的配置来关闭这个“仅仅合并 -​​ 更改 - 那些不是也在改变工作分支”的选项吗?

1 个答案:

答案 0 :(得分:-1)

git中没有像merge union这样的东西,那些日子你不想做的事情。

您只能从不同的策略中进行选择

  • 递归
  • octupus
  • 我们
  • 他们
  • 子树
  • 耐性