【原創】關於不同分支代碼的Merge有了透徹的理解


多分支開發,Merge是一個繞不過的話題,不管是Git還是SVN,公司用的是SVN,之前對於SVN的Merge沒有很好的研究,出了些狀況,這個問題不解決,順暢地進行多分支開發就是海市蜃樓,下定決心把這塊給完全搞透,在百度上找到的都是太古老的資料,SVN的幫助又沒有寫得太清楚,沒有例子,最終在StackFlow上找到了線索,通過自己的試驗找到了一條我認為是正確額做法。簡單總結如下:

1、主干是一切的基石

2、任何分支的來源都必須是主干

3、如果主干修改不多,以分支修改為主的,且需要把主分支的變更及時同步到子分支的,就一定要及時Merge,也就是主分支有變更之后立即Merge到子分支

4、每次從主干建立一個新分支之前,一定要把還在開發的分支都Merge到主干

5、如果從主分支建立子分支之后,主分支的改動由於某種原因不宜立即Merge到子分支的(比如:子分支是處於集成測試階段即將發版的,在主分支上修復了某些不在這次發版范圍內的小Bug),在子分支告一段落后,一定要及時Merge到主分支

6、對子分支的管理,要注意以下原則:

1)沒有必要不要建立子分支:子分支越多,越難管理

2)開發結束之后確定不需要再維護的子分支,建議及時刪除

7、一般情況下不建議使用“Merge to different trees”來做Merge,第3、4種情況,都請用“Merge a range of revisions”,(TortoiseSVN1.8版以上),具體如下:

 

 

要從主分支Merge到子分支的時候,在子分支的WorkCopy上點擊右鍵選“Merge”,具體設置如下:

 

要從子分支Merge到主分支的時候,在主分支的WorkCopy上點擊右鍵選“Merge”,具體設置如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM