作者JohnnyDell (強尼戴爾)
看板Soft_Job
標題[請益] Java web app在Git上的分支策略
時間Mon Jul 25 14:33:01 2016
請問各位都是採用怎麼樣的分支策略呢?
目前是開發Java web app的專案,用的版控是git(一般自架的git)。現階段是採用
A successful Git branching model (
http://nvie.com/posts/a-successful-git-branching-model/)
也就是從master開始,分出develop支線,在由develop去開各個feature跟bugfix,
分支寫好後就merge回develop。要release時是從develop開出release分支,進行改
版號之類的準備動作,再將release分支同時merge到master與develop。如此便等於
把develop跟master的差距merge回去master了,在master上打一個tag(e.g., 1.0.2)
1.0.x的發佈都是這樣,但是接下來要往1.1.x了。就不曉得一般做法是怎麼樣分支的呢?
因為1.0.x之後還是可能會有需要fix的bug或者甚至小修改,此bug也可能需要到develop。
假設目前develop和master已經merge release/1.0.13(意即目前發佈的版本號到1.0.13)
1. 在develop的這個commit開一個1.0.x的分支,後續1.0.x的從此分支去做?
2. 在master的這個commit開一個1.0.x的分支,後續1.0.x的從此分支去做?
以上兩種之後的tag就會打在1.0.x的分支上?
因為1.1.x就是繼續從develop往下做並且merge到master
3. 在develop的這個commit開一個1.1.x的分支,後續1.1.x的從此分支去做?
第三種的就不清楚要怎麼樣發佈1.1.x版本,因為如果merge到master不就也檔到1.0.x了?
很怕分支策略一個開錯導致後面版控一整個亂掉
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.216.85.152
※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1469428384.A.CD3.html
推 abc0922001: 從master上的tag1.0.x去切分支,之後發布1.0.x+1的版 07/25 15:08
→ abc0922001: 本號,tag可以打在分支上。如果這個bug 1.1.x也有,就 07/25 15:08
→ abc0922001: mege到master上,打上1.1.x+1 07/25 15:08
→ abc0922001: 我記得linux的版本也有這種情況,新特性發布後,還去 07/25 15:10
→ abc0922001: 修復舊版本的bug 07/25 15:10
→ abc0922001: 說tag打在分支上有點怪,tag本來就是不會動的分支了 07/25 15:11