現狀
團隊之前使用SVN進行代碼管理,也沒有很好的利用分支管理代碼版本。版本沖突問題比較嚴重,版本庫里的代碼不能作為穩定代碼。
開發人員永遠不知道生產上代碼長啥樣(環境上是編譯后的jar),提測需要跟測試版本比較,上生產需要跟生產版本比較,混亂的一匹。
基於以上原因(盡管svn也有辦法解決版本問題),直接在團隊里推行了git版本管理,部署了gitlab做管理工具,並參考了網上各種資料以及以前公司的處理經驗,制定了一套代碼管理方案。
解決方案
基於gitlab進行的代碼權限、流程管理
代碼分支
- master分支 生產代碼版本
- qa分支 測試代碼版本
- dev-xxx 開發代碼版本(xxx表示版本號)
gitlab角色
gitlab角色 | team身份 | fork團隊代碼 | 提交到個人倉庫 | 申請合並到團隊倉庫開發分支 | 合並到團隊開發分支 | 申請合並到團隊qa分支 | 合並到團隊qa分支 | 申請合並到master分支 | 合並到團隊master分支 | 備注 |
---|---|---|---|---|---|---|---|---|---|---|
Reporter | 開發人員 | √ | √ | √ | ||||||
Developer | 項目leader | √ | √ | √ | √ | √ | ||||
Master | 測試人員 | √用不到 | √用不到 | √用不到 | √用不到 | √用不到 | √ | √ | √ |