Git Flow / Git分支模型
Git flow是开发人员在使用Git时可以遵循的一组指南。我们不能说这些指南是规则。这些不是规则;它是一个理想项目的标准。这样开发人员就能更容易理解事情。
开发人员称之为 分支模型 ,它作为一个项目的中央仓库。开发人员在不同的分支上工作并推送他们的工作到主仓库。
在一个项目中有不同类型的分支。根据标准的分支策略和发布管理,可以有以下类型的分支:
- Master(主分支)
- Develop(开发分支)
- Hotfixes(热修复分支)
- Release branches(发布分支)
- Feature branches(功能分支)
每个分支都有其特定的含义和标准。让我们了解每个分支及其用途。
主要分支
这个分支模型中的两个分支被视为项目的主要分支。这些分支如下:
- master(主分支)
- develop(开发分支)
主分支
主分支是项目的主要分支,包含了所有最终更改的历史记录。每个开发者都必须使用主分支。主分支包含了HEAD的源代码,始终反映了项目的最终版本。
你的本地仓库有一个与远程仓库的主分支始终保持更新的主分支。
建议不要对主分支进行修改。如果你编辑了一个团队项目的主分支,你的更改将影响其他所有人,并且很快就会出现合并冲突。
开发分支
它与主分支平行存在,也被视为项目的主要分支。该分支包含了下一个版本的最新开发更改。它具有发布的最终源代码。也称为“集成分支”。
当开发分支达到稳定点并准备发布时,应将其与主分支合并,并打上发布版本的标签。
支持性分支
开发模型需要各种支持性分支,用于并行开发、功能跟踪、快速修复和发布以及其他问题的辅助。这些分支有限的生命周期,在使用后会被删除。
我们可能使用的不同类型的支持性分支如下:
- 功能分支
- 发布分支
- 热修复分支
每个分支都是为特定的目的而创建的,并具有一些合并目标。这些分支对于技术角度来说非常重要。
功能分支
功能分支可以被视为主题分支。它用于开发项目的下一个版本的新功能。这个分支的存在是有限的;在其功能与开发分支合并后,它将被删除。
学习如何创建特性分支,请点击这里。
发布分支
发布分支用于支持新版本发布。高级开发人员将创建发布分支。发布分支将包含预定数量的特性分支。发布分支应该部署到一个用于测试的暂存服务器。
在这个分支上,开发人员可以进行小的缺陷修复和准备发布的元数据。完成所有这些任务后,可以将其与开发分支合并。
当所有目标特性都创建完成后,可以将其与开发分支合并。发布分支的一些常规标准如下:
- 通常,高级开发人员会创建发布分支。
- 发布分支将包含预定数量的特性分支。
- 发布分支应该部署到一个用于测试的暂存服务器。
- 必须在发布分支上解决需要改善的任何错误。
- 发布分支必须与开发分支和主分支合并。
- 合并后,发布分支和开发分支必须标记一个版本号。
在合并发布分支后,为分支打标签,请访问Git标签。
修复分支
修复分支与发布分支类似,都是用于新的生产发布。
修复分支的产生是因为项目需要立即采取行动。如果生产版本中存在关键错误,可以在项目中创建一个修复分支。修复错误后,可以将该分支与主分支合并,并打上一个标签。