我试图将分支与pom.xml文件合并,这些文件通常只与版本号中的更改冲突,但通常会在其中发生其他非冲突的更改。如果我使用" git checkout --ours"即使没有冲突的更改也会被忽略,是否有针对此的解决方法?
我的意思是:
<xml>
<thing>
<<<<<<< HEAD
<version>1.1.0</version>
=======
<version>1.2.0</version>
>>>>>>> origin/remote_branch
</thing>
<other>
<!-- merged changes -->
</other>
</xml>
我希望通过&#34; git checkout --ours&#34;
来实现<xml>
<thing>
<version>1.1.0</version>
</thing>
<other>
<!-- merged changes -->
</other>
</xml>
这可能吗?
答案 0 :(得分:3)
应该使用合并策略选项:git merge branch -X ours
:
ours:
此选项通过支持我们的版本,强制冲突的帅哥干净利落地自动解决。来自与我们方不冲突的其他树的更改将反映到合并结果中 对于二进制文件,整个内容都来自我们这边。
这是递归合并策略的一个选项。
如果您只想将该选项应用于某些文件,同时保留其他文件的默认合并分辨率,则可以使用custom merge driver在这些特定文件上调用git merge-file --ours
。你declare it in the config file。
该合并驱动程序与.gitattributes
:
pom.xml merge=keepours