開發流程
在開發的過程中存在以下情況:
情況1: 開發新特性
情況2: 緊急修正生產環境中報告的Bug
情況3: 支援其他成員,幫忙調試
假如我們在master主分支中進行新特性的開發,這時如果發生情況2,處理起來比較麻煩。
正確的實踐應該是:
-
master主分支保致與對外發布的版本同步
-
每個新特性(feature)都有獨立的分支
-
將多個新特性(feature)分支合并至發布(release)分支
-
待發布(release)分支完成后再合并至master主分支,正式對外發布
應用gitflow
gitflow是開源的標准化git流程協助工具,項目地址在 http://github.com/nvie/gitflow
安裝(Ubuntu環境)
wget -q -O - --no-check-certificate https://github.com/nvie/gitflow/raw/develop/contrib/gitflow-installer.sh | sudo sh
其他操作系統安裝gitflow請參考 http://github.com/nvie/gitflow
使用方法
#初始化(提問時回車就好) git flow init
開發新特征
git flow feature start <name> [<base>]
git flow feature finish <name>
#列出新特征分支
git flow feature
淮備發布版本
git flow release start <name> [<base>]
git flow release finish <name>
#列出發布分支
git flow release
< base >是位于develop分支的commit
修正緊急Bug
git flow hotfix start <name> [<base>]
git flow hotfix finish <name>
#列出修正分支
git flow hotfix
支援其他成員工作
git flow support start <name> <base>
#沒有finish?(待實踐)
#列出支援分支
git flow support
< base >是位于master分支的commit
結合github
上傳未完成的feature分支
#git push REMOTENAME BRANCHNAME
#一般情況下REMOTENAME即為origin, BRANCHNAME為以feature/為前綴的分支名稱
git push origin feature/orders
注意:對于develop分支,由于所有成員的本地庫中都有,所以不能上傳
參考資料
全站熱搜
留言列表