作者: 阮一峰 发布时间: 2015-12-29 16:29
Git 作为一个源码管理系统,不可避免涉及到多人协作。
协作必须有一个规范的流程,让大家有效地合作,使得项目井井有条地发展下去。"协作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。
![77f428f2dfdb7eff68d2a868e71f80a8.png](https://i-blog.csdnimg.cn/blog_migrate/2b32388b38319951b220a18377812041.jpeg)
本文介绍三种广泛使用的协作流程:
- Git flow
- Github flow
- Gitlab flow
如果你对Git还不是很熟悉,可以先阅读下面的文章。
- 《Git 使用规范流程》
- 《常用 Git 命令清单》
- 《Git 远程操作详解》
一、功能驱动
本文的三种协作流程,有一个共同点:都采用"功能驱动式开发"(Feature-driven development,简称FDD)。
它指的是,需求是开发的起点,先有需求再有功能分支(feature branch)或者补丁分支(hotfix branch)。完成开发后,该分支就合并到主分支,然后被删除。
二、Git flow
最早诞生、并得到广泛采用的一种协作流程,就是Git flow 。
2. 1 特点
它最主要的特点有两个。
![5f0cd7a78837d12efa5138c04d649c40.png](https://i-blog.csdnimg.cn/blog_migrate/5768a4ab253ec824a3b0ded1d2e0fe91.jpeg)
首先,项目存在两个长期分支。
- 主分支master
- 开发分支develop
前者用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的分布版;后者用于日常开发,存放最新的开发版。
其次,项目存在三种短期