2017-09-26 75 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;