GitFlow 及 GitKraken - Tomorrow0w0/testGit GitHub Wiki
Git 本身具有強大的分支管理功能,要開分支可以說是成本極低的一件事情,
若是胡亂開分支,容易造成管理上的混亂,因此也有很多不同的管理方式,
而 GitFlow 就是其中一種很受歡迎的管理方式,以下是 GitFlow 的簡單流程圖示 :
- master 主支 穩定版 tag
- hotfix 緊急修改支
- release 發布支(上線) 測試版 tag
- develop 開發支
- feature 功能支
簡單來說,整個工作分成兩個主要分支,分別是 master 與 develop ,而其他分支則是輔助這兩個分支用的。
-
master 是用來放置交付版本的程式,而 develop 分支則是用來放置開發中的功能。
-
develop 分支上,依照不同的需求,再開不同的 feature 分支,
來處理各自 feature 的開發,當 feature 開發完畢後,在合併回 develop 分支。 -
當 develop 分支累積足夠的 features 後,就可以準備 release,
這時候會再從 develop 開出 release 分支,處理 release 前的工作,,
如: 版號變更、撰寫change log 等等。 -
當 release 準備完後,就可以合併到 master ,作為最終交付的版本,此時可以給予一個版本號tag。
-
當已交付程式有 bug 發生時,可以在 master 上建立 hotfix 分支,
進行緊急的修復,修復完成後,直接再合併回 master 。 -
release 和 hotfix 分支的異動結果,也會同步合併回 develop 分支。
-
一般來說 master 和 develop 分支,都只會留有被合併的結果,
而不會直接在這兩個分支上進行 commit。