2017-09-26 76 views
0

我在Git的以下情形: 2个分支合并冲突合并回来时,要掌握

  • 发展

所有的开发上develop完成。在develop我们将创建一个新的snapshot分支,当我们要创建一个快照。在这个snapshot分支上,我们将创建一个release分支,当我们想要发布它时。

经过release后,我们将发布分支与其snapshot分支合并,并将release分支与master合并。

在发布期间,我们在pom.xml中更改mvn:set的版本。 除了最后一步之外,此过程正常工作。我有时与releasemaster之间的合并发生冲突。

例如:我创建一个版本并与master = ok进行合并。然后我在快照分支上做一个修补程序(添加一些文件)并再次发布。新版本将与快照再次合并,但与我的主人合并有冲突,但仅在pom.xml

Branch master set up to track remote branch master from origin. 
Auto-merging xxx/pom.xml 
CONFLICT (content): Merge conflict in xxx/pom.xml 

pom.xml版本当然是不同的(需要通过的版本替换的master版本release分支)。但是releasesnapshot分支之间的合并也是如此,它始终在工作。

该代码对于此合并非常基本。它几乎与release分支和support分支之间的合并代码相同。它始终有效。

echo "merge Release branch with master branch"; 
git checkout master; 
git merge REL-1.0.0; 
git push origin master; 

我在这里错过了什么?

这是我的pom.xml的不成功的合并后的内容1.0.1需要通过1.1.0

<<<<<<< HEAD 
    <version>REL-1.0.1</version> 
======= 
    <version>REL-1.1.0</version> 
>>>>>>> REL-1.1.0 
+0

为什么合并发布分支在主?我如何做的是,如果在发布分支中引入了任何回归,我会从主控中选择提交并将其放到发布分支上。发布分支是由最新的主人创建的。 – LethalProgrammer

回答

0

你要解决这个冲突之前提交,并推来代替在那里,所以你必须做类似 echo "merge Release branch with master branch"; git checkout master; git merge REL-1.0.0; git mergetool --tool=kdiff3 git commit git push origin master;