Git 的各种工作流程

Git 的各种工作流程

常见的git工作流程

Centralized Workflow (集中式工作流)、Feature Branch Workflow(功能开发工作流)、
Gitflow Workflow(Gitflow工作流)以及 Forking Workflow(Forking工作流)

1、集中式工作流

概念:这种工作方式跟svn类似,它只有一个master分支,开发者会先将远程的仓库的代码克隆到本地,之后的修改和提交都在本地操作,直到某个合适的时间节点将本地代码合入到远程master。

2、功能开发工作流

概念: 这种工作流是基于master拉取feature分支,在feature分支上进行功能开发,团队成员根据分工不同拉取不同的分支。当功能开发完毕之后代码经过审核测试,才允许合入master分支。当代码合入了master之后还出现了bug,这时候需要基于最新的master分支建立hotfix分支进行代码修复。

3、Gitflow工作流

概念: 这种工作流相对前面的工作流会复杂一些,master和develop分支是长期存在的。master分支可以被视为稳定的一个分支,develop分支是相对稳定的分支,用于日常的开发,包括代码的优化等。feature分支是基于develop分支拉取的,进行一些新功能的开发。当新功能开发完毕之后,会将feature分支合并到develop分支。release分支是基于develop分支拉取,当作预发布版本的分支,通常这个分支用于回归测试。测试完毕之后会将该分支合入master和develop并打上tag。hotfix分支用于紧急修复线上版本的问题,修复后打上tag并合入master和develop分支。

4、Forking工作流

概念:Forking工作流常用于开源项目,它有一个公开的中央仓库,其他代码贡献者可以通过Fork这个仓库作为自己的私有仓库。开源项目的维护者可以直接push代码到中央仓库,代码贡献者的pull request只有得到开源项目的维护者才能合入到中央仓库。

5、总结

在工作之中常用的两种工作流方式就是:功能开发工作流与Gitflow工作流。对于我个人而言,功能开发工作流这个方式是更加简单实用,也是目前工作中使用的工作流方式。而Gitflow工作流中的有些繁琐,develop这个分支又有些多余,不便于在公司内部推广。

你可能感兴趣的:(Git 的各种工作流程)