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的工作流程比较页面。