先來復習一波,git的最佳分支管理流程:
再簡單復習各個分支:
- master: 主分支,主要用來版本發布。
- develop:日常開發分支,該分支正常保存了開發的最新代碼。
- feature:具體的功能開發分支,只與 develop 分支交互。
- release:release 分支可以認為是 master 分支的未測試版。比如說某一期的功能全部開發完成,那么就將 develop 分支合並到 release 分支,測試沒有問題並且到了發布日期就合並到 master 分支,進行發布。
- hotfix:線上 bug 修復分支。
首先介紹企業的一般流程,就是版本發布(假設為V3R2)和開發新版本(假設新版本為V3R3)的問題,其實一條時間線同時存在這兩個版本,一個是穩定的已發布版本,另一個是正在開發的未來需要發布的版本。那么為什么要開發新版本呢?因為軟件是要演進的,要適應變化和需求,一段時間迭代后發布的軟件比喻V3R2也會不斷暴露出問題,這類問題也需要在新版本中變得可用。因為V3R3的都是新特征新變化
feature:
只與develop交互,因為feature就是新版本開發為了升級和演進需要用的,里面的所有代碼只能在發布新版本且經過測試的時候才合進去master,然后在master打tag表明所有新功能開發完畢,一次性合並。同時我們開發一般是不同的人開發不同的功能,因此各自都應該有自己的feature,然后斷斷續續並進develop所以,保證develop是個新功能持續集成的版本。
hotfix:
這個分支用來修復主線master的BUG,但是要注意的是,在舊版本的BUG,新版本也是存在的,因此develop分支也存在該BUG,具體來說就是V3R2和V3R3都有該BUG,因此,修復的時候必須要提交兩個分支master和develo否則,后面需要rebase就麻煩了。