Git 工作流之 GitFlow
GitFlow學習:
Gitflow
工作流是經典模型,體現了工作流的經驗和精髓。隨著專案過程複雜化,會感受到這個工作流中深思熟慮和威力.
///////////////////////////////////////////////////////////////////////////////////////////////
一旦安裝安裝 git-flow,你將會擁有一些擴充套件命令。這些命令會在一個預定義的順序下自動執行多個操作。
git-flow 並不是要替代 Git,它僅僅是非常聰明有效地把標準的 Git 命令用指令碼組合了起來。
嚴格來講,你並不需要安裝什麼特別的東西就可以使用 git-flow 工作流程。你只需要瞭解,哪些工作流程是由哪些單獨的任務所組成的,並且附帶上正確的引數,以及在一個正確的順序下簡單執行那些對應的 Git 命令就可以了。當然,如果你使用 git-flow 指令碼就會更加方便了,你就不需要把這些命令和順序都記在腦子裡。
安裝 git-flow
近些年來出現了很多不同的安裝方法。在本章節中我們會使用當前最流行的一種: 。
要了解安裝 git-flow 細節,請閱讀下面這個文件 點選開啟連結。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
說了這麼久,還沒有一句git命令,那就讓大家感受一下吧(感謝Bugly小色熊整理):
1). 首先將遠端程式碼拉取到本地
git clone xxx
git checkout -b develop origin/develop
2).新建feature分支
git checkout -b feature
3).多人在feature上開發,如果中途需要將develop的變更合入feature,所有人需要將本地的程式碼變更提交到遠端
git fetch origin
git rebase origin/feature
git push origin feature
然後由feature負責人rebase develop分支,刪除原來feature分支,重新新建feature分支;
git fetch origin
git rebase origin/feature
git rebase develop
git push origin :feature
git push origin feature
這樣可以保證feature保持線性變更;
4).feature開發完成後,所有人需要將本地的程式碼變更提交到遠端
git fetch origin
git rebase origin/feature
git push origin feature
然後由feature負責人rebase develop分支,然後將feature分支合入develop,刪除feature;
git fetch origin
git rebase origin/feature
git rebase develop
git checkout develop
git merge feature
git push origin :feature
這樣可以保證develop保持線性變更,各feature的變更完整可追溯;
5).合入feature後拉出對應的release/feature分支,後續bug修復在release/feature上
git checkout develop
git checkout -b release/feature
release/feature分支的同步合併與feature分支相同
6).release/feature分支bug修復完成後,拉取對應的tag推送遠端進行釋出
git tag -a v1.0 -m 'feature釋出'
git push origin v1.0
之後將release/feature合入develop分支,然後刪除
git rebase develop
git checkout develop
git merge release/feature
git push origin :release/feature
7).釋出完成後將release合入master分支,保證master為最新穩定版本(實際操作為發起merge request)
Ref:
https://www.git-tower.com/learn/git/ebook/cn/command-line/advanced-topics/git-flow