Git工作流指南:Gitflow工作流

Gitflow工作流没有用超出功能分支工作流的概念和命令,而是为不同的分支分配一个很明确的角色,并定义分支之间如何和什么时候进行交互。除了使用功能分支,在做准备、维护和记录发布也使用各自的分支。当然你可以用上功能分支工作流所有的好处:Pull Requests
、隔离实验性开发和更高效的协作。

工作方式

Gitflow工作流仍然用中央仓库作为所有开发者的交互中心。和其它的工作流一样,开发者在本地工作并push分支到要中央仓库中。

历史分支

相对使用仅有的一个master分支,Gitflow工作流使用2个分支来记录项目的历史。
master分支存储了正式发布的历史
而develop分支作为功能的集成分支

这样也方便master分支上的所有提交分配一个版本号。

Git工作流指南:Gitflow工作流_第1张图片
git-workflow-release-cycle-1historical.png

剩下要说明的问题围绕着这2个分支的区别展开。

功能分支
功能分支不是从master分支上拉出新分支,而是使用develop
分支作为父分支。

当新功能完成时,合并回develop分支新功能提交应该从不直接与master分支交互。

Git工作流指南:Gitflow工作流_第2张图片
git-workflow-release-cycle-2feature.png

注意,从各种含义和目的上来看,功能分支加上develop分支就是功能分支工作流的用法。但Gitflow工作流没有在这里止步。

发布分支
Git工作流指南:Gitflow工作流_第3张图片
git-workflow-release-cycle-3release.png

一旦develop分支上有了做一次发布(或者说快到了既定的发布日)的足够功能,就从develop分支上fork一个发布分支。新建的分支用于开始发布循环,所以从这个时间点开始之后新的功能不能再加到这个分支上 —— 这个分支只应该做Bug修复、文档生成和其它面向发布任务。一旦对外发布的工作都完成了,发布分支合并到master分支并分配一个版本号打好Tag。另外,这些从新建发布分支以来的做的修改要合并回develop
分支。

 第一,发布分支(release),是从develop分支创建的一个新分支。
 第二, 这个分支只应该做Bug修复、文档生成和其它面向发布任务。
 第三,一旦对外发布的工作都完成了,发布分支合并到master分支并分配一个版本号打好Tag。
 第四,从新建发布分支以来的做的修改要合并回develop分支。

转载地址:
http://blog.jobbole.com/76867/

你可能感兴趣的:(Git工作流指南:Gitflow工作流)