看板 Soft_Job 關於我們 聯絡資訊
請問各位都是採用怎麼樣的分支策略呢? 目前是開發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