集中式工作模式
如图所示,团队共用一个远程仓库,大家从一个仓库拉取和推送代码。
集成管理者工作模式
如图所示,团队中的每个开发都从(公仓)blessed repository中fork一个自己的远程仓库(developer public),从公仓拉取代码,往自己的远程仓库提交代码,当代码测试通过后,发起一个从developer public 到 blessed repository 的merge request,由管理者审核合并。
主管与副主管工作模式
如图所示,一般超大型项目才会用到这种工作方式。
每个开发都根据公仓master创建一个自己的分支,在自己的分支上开发,从公仓拉取master代码并合并到自己的分支。
副主管把自己手下开发的分支合并到自己分支,
主管把副主管的分支合并到自己的分支,再推送到共仓master。
这种工作流程并不常用,只有当项目极为庞杂,或者需要多级别管理时,才会体现出优势。利用这种方式,项目总负责人(即主管)可以把大量分散的集成工作委托给不同的小组负责人分别处理,然后在不同时刻将集成后的代码统筹起来,用于之后的整合。