1. 程式人生 > >SVN從分支合併到主幹,從主幹合併到分支, 從分支合併到分支

SVN從分支合併到主幹,從主幹合併到分支, 從分支合併到分支

從分支合併到主幹

From : 主幹的 打出分支時的版本
To: 分支的 Head版本 (最新版本)

怎麼理解這個 From 和 To 呢 ? 似乎跟我們的想當然不太一樣:因為我們理解,把分支合併到主幹,肯定是 From 分支,To 主幹。怎麼搞反了呢?

實際上, Svn 認為,我們要合併的,是從主幹的某個版本開始,到分支的某個版本結束。兩邊的版本號實際上是一套系統,不會有重複。

從主幹合併到分支

From: 分支的第一個版本(最舊版本)
To: 主幹的Head版本(最新版本)

相當於從分支的第一個版本開始一直到主幹最後一個版本結束合併之後,替換分支。

從分支合併到分支

有 這樣的需求:一個專案中有很多分支,這些分支需要分期上線,有多個工作並行,但每一期之間不能相互影響,這就可以打出幾個tag(也是分支)。

其他主幹根據排期分別合併到這些tag中來。比如有prjTag1和prjTag2,model1、model2需要合併到prjTag1 中,model3、model4需要合併到prjTag2中。拿prjTag1舉例:

在prjTag1的work copy中,merge

From : 主幹的 打出分支時的版本
To: 分支的 Head版本 (最新版本)

注意: From不是本Tag的某個版本,而是之前主幹打出分支時的版本,最終Merge到prjTag1的work copy,而prjTag1是找不到當初打分支時的版本的。