Gitflow是一种使用功能分支和多个主分支的Git分支模型,它适用于有预定发布周期的项目,也适用于DevOps最佳实践中的持续交付。这个工作流程不会添加任何新的概念或命令,而是为不同的分支分配了非常具体的角色,并定义了它们应该如何以及何时进行交互。
以下是Gitflow工作流程的关键组成部分:
-
develop和main分支:
main分支存储官方版本历史记录。develop分支充当功能的集成分支。- 使用版本号标记
main分支中的所有提交。
-
-
feature分支:
- 每项新功能都应位于自己的分支中,这些分支基于
develop分支创建。 - 功能完成后,
feature分支会合并回develop分支。 feature分支不应直接与main分支交互。

- 每项新功能都应位于自己的分支中,这些分支基于
-
release分支:
- 当
develop分支获得足够的功能以发布某个版本时,会从develop中分离出一个release分支。 release分支用于准备发布,包括错误修复、文档生成等。- 发布准备好后,
release分支会合并到main和develop分支,并删除release分支。 
- 当
-
hotfix分支:
hotfix分支用于快速修补生产版本中的问题。- 它们基于
main分支创建,而不是develop。 - 修复完成后,
hotfix分支会合并到main和develop分支,并使用更新的版本号标记main。
Gitflow工作流程的总体流程是:
develop分支从main中创建。release分支从develop创建。feature分支从develop创建。feature完成后,合并到develop分支中。release完成后,合并到develop和main中。- 如果在
main中检测到问题,从main创建hotfix分支。 hotfix完成后,合并到develop和main中。
这个工作流程非常适合基于版本的软件开发,并且为生产hotfix提供了专用渠道。如果您想了解更多关于Git工作流程的信息,可以访问Atlassian的工作流程比较页面。










