高洛峰2017-05-02 09:49:26
首先, 原生的git是支援分支的新建與合併的1, 所以所有基於git實現的程式碼版本管理工具(如gitlab/github)也是預設支援分支功能的. (gitlab還會帶有權限管理功能)
此外, 題主項目中的一個重大問題正如@52lidan所說, 沒有dev
分支導致代碼版本管理混亂(到底是A還是B還是C分支是最主要的?), 所以給題主的建議是:
專案要有以下的分支
master
: 正式可以發佈到生產環境的程式碼分支(protected)2
dev
: 經過開發與初步測試後, 可以正常工作的程式碼分支, 用以合併所有人的工作以及已經修復的bug(protected)
每一個任務新建一個分支, 人跟著任務走而不是任務跟著人走. 也就是說, 在遠程庫上, 該任務只有一個分支, 並且所有人都拉取到本地上. 所有人關於任務的工作都需要在本地commit後再推送到任務分支. (不建議一個任務有多於三人協作, 否則分解任務為更多的分支)
protected
, 該分支只有專案中獲得owner
/protected
, 该分支只有项目中获得owner
/master
权限的人才能合并别人提交的merge request
權限的人才能合併別人提交的merge request
↩
曾经蜡笔没有小新2017-05-02 09:49:26
就算合併有個先來後到,如果就是在本地開發完了也不進行遠端的推送更新,怎麼存在合併的情況呢,至少遠端也應該有個b吧,如果沒有,那都往a上合併吧,不過這樣不太好