如題。 現在公司使用的是gitlab,大概使用流程入下:1.老闆創建一個主倉庫mainrepo2.每個成員fork一份mainrepo3.在自己fork出來的程式碼裡做開發4.開發完成後發出合併請求,等待老大合併代碼5.如果主倉庫有新更新,先fetch,然後合併到自己的倉庫裡
gitlab
mainrepo
fetch
我覺得這樣做好麻煩啊,而且git的分支優勢體現的不是很明顯。 大家覺得這種工作模式怎麼樣?
兩種方式:
大家使用同一個倉庫進行合作開發,分支開發功能,開發完畢,建立merge request,进行code review,最後合併到develop分支
merge request
code review
也可以大家 fork mainrepo, 开发完毕后,建立pull request到mainrepo由管理程式碼的人進行合併
fork
pull request
使用第二種方式的好處:
保護 mainrepo, 所有的合并操作必须使用pull request, 不能簡單的進行merge
mainrepo的分支更加的簡潔,不會包含多餘的分支
個人維護自己私有倉庫內的分支,不會出現創建分支時重名的情況
個人強調貢獻代碼,向mainrepo貢獻更多的代碼
嗯,這樣確實沒發揮出分支的優勢。 不應該只有一個mainrepo分支。 應依需求分出develop,feature,hotfix分支等。這樣在對應的分支上開發。
這樣做當然是可以的,你們老大這麼做大約也有他的原因。 不過這種方式管理就很集中,不太符合 git 分散式的思路,所以使用 git 並不太匹配。
我理解的步驟
老大創建庫
master 指定 老闆merge
建立 dev庫,作為測試環境庫,也只有老大或指定管理才能merge。
各個開發創建自己的分支,然後push到遠端廠庫,然後老大或管理,到dev merge,push上來的分支。
兩種方式:
大家使用同一個倉庫進行合作開發,分支開發功能,開發完畢,建立
merge request
,进行code review
,最後合併到develop分支也可以大家
fork
mainrepo
, 开发完毕后,建立pull request
到mainrepo
由管理程式碼的人進行合併
使用第二種方式的好處:
保護
mainrepo
, 所有的合并操作必须使用pull request
, 不能簡單的進行mergemainrepo
的分支更加的簡潔,不會包含多餘的分支個人維護自己私有倉庫內的分支,不會出現創建分支時重名的情況
個人強調貢獻代碼,向
mainrepo
貢獻更多的代碼嗯,這樣確實沒發揮出分支的優勢。
不應該只有一個mainrepo分支。 應依需求分出develop,feature,hotfix分支等。這樣在對應的分支上開發。
這樣做當然是可以的,你們老大這麼做大約也有他的原因。
不過這種方式管理就很集中,不太符合 git 分散式的思路,所以使用 git 並不太匹配。
我理解的步驟
老大創建庫
master 指定 老闆merge
建立 dev庫,作為測試環境庫,也只有老大或指定管理才能merge。
各個開發創建自己的分支,然後push到遠端廠庫,然後老大或管理,到dev merge,push上來的分支。