1,集中共享式(1个仓库)

其中角色:

  1个远程仓库,N个开发者。

工作方式:

  集中式系统:所有开发者共享同一个远程仓库。每次推送数据到远程仓库时都要先更新一下。

  利用 Git 的分支模型,通过同时在多个分支上工作的方式,即使是上百人的开发团队也可以很好地在单个项目上协作。

2,集成管理者式(n个仓库)

其中的角色:

  一个官方管理者+1个官方仓库

  N个开发者+N个开发者仓库

工作方式:

  每个开发者都有一个远程仓库,同时对其它开发者仓库有读权限,开发者在自己的仓库中克隆官方仓库,完成一定开发后,请求管理者合并它的仓库到官方仓库。

  1. 项目维护者推送到主仓库。

  2. 贡献者克隆此仓库,做出修改。

  3. 贡献者将数据推送到自己的公开仓库。

  4. 贡献者给维护者发送邮件,请求拉取自己的更新。

  5. 维护者在自己本地的仓库中,将贡献者的仓库加为远程仓库并合并修改。

  6. 维护者将合并后的修改推送到主仓库。

3,司令,副官式(n个仓库)

其中角色:

  1个司令

  n个副官

  n个开发者+n个开发者仓库

工作方式:

  集成管理者式的变种,一个副官管理多个开发者仓库,一个司令管理多个副官仓库。 一般拥有数百位协作开发者的超大型项目才会用到这样的工作方式,如Linux 内核项目。

  1. 普通开发者在自己的特性分支上工作,并根据 master 分支进行变基。 这里是司令官的master分支。

  2. 副官将普通开发者的特性分支合并到自己的 master 分支中。

  3. 司令官将所有副官的 master 分支并入自己的 master 分支中。

  4. 司令官将集成后的 master 分支推送到参考仓库中,以便所有其他开发者以此为基础进行变基。

最新文章

  1. Go语言的编程范式
  2. iOS-OC-基本控件之UITextField
  3. 笔记本电脑关闭小键盘(即打字按P出现星号键)
  4. JVM加载class文件的原理机制
  5. 一个Brushes笔画应用ios源码完整版
  6. Cocos2d-JS v3.0 alpha 导入 cocostudio的ui配置
  7. Self-Paced Training (2) - Docker Fundamentals
  8. Codeforces 628D 数位dp
  9. 【svn】server建立以及svn使用
  10. PuTTY?Bash?Out了!!!终端应该这么玩~
  11. JS操作DOM元素属性和方法
  12. Halloween party
  13. Hibernate配置过程可能发生的问题及解决方法
  14. SetConsoleTextAttribute 函数--设置控制台文本属性
  15. 团队作业8——Beta 阶段冲刺6th day
  16. CEC和ARC介绍
  17. Python local error
  18. 如何安装psutil以及提示缺少python.h头文件
  19. Sql Server Tempdb原理-日志机制解析实践
  20. Hadoop学习笔记(一)——编译安装和配置

热门文章

  1. 在Mac OS X中使用VIM开发STM32(4)
  2. 连接ACCESS的AccessHelper.cs类
  3. Java Thread and runnable
  4. NVIDIA显卡设置提升MineCraft流畅度
  5. javascript event兼容IE和FF
  6. hdu 4641 K-string SAM的O(n^2)算法 以及 SAM+并查集优化
  7. SelectList
  8. 【BZOJ 1877】 [SDOI2009]晨跑
  9. 前端跨域之html5 XMLHttpRequest Level2
  10. Linux桌面扩展 Docky