Git Flow 提供了几个主要的分支,每个分支都有其特定的角色和生命周期:
1.main 分支(或 master 分支)
2.develop 分支
3.feature 分支
4.release 分支
5.hotfix 分支
-
main 分支
这是项目的主分支,用于保存始终处于可发布状态的代码。
每次版本发布(例如,v1.0.0、v1.1.0)都会在此分支上创建一个标记(Tag)。
这个分支的代码是稳定的、可部署的,任何时候都可以将其部署到生产环境。 -
develop 分支
develop 分支是开发的核心分支,所有的功能开发都是基于 develop 分支进行的。
develop 分支上的代码是开发中的、可能不稳定的,直到完成一次发布。 -
feature 分支
feature 分支用于开发新功能。每个新功能都会从 develop 分支创建一个新的 feature 分支,功能开发完成后,再合并回 develop。
命名约定:feature/xxx(例如 feature/login-page)。
feature 分支的生命周期较短,通常只存在于新功能开发阶段。
# 创建并切换到新的 feature 分支
git checkout -b feature/login-page develop
- release 分支
release 分支用于准备一个新版本的发布。通常,当 develop 分支上的功能开发完成并且已准备好发布时,就会创建一个 release 分支。
在 release 分支上,开发者可以进行一些版本修复、bug 修复、文档更新等,确保发布版本的稳定性。
发布分支上的代码可以做最终测试、集成和调试,直到一切准备好。
一旦完成 release 分支的修改,它将合并到 main 分支和 develop 分支。
# 从 develop 分支创建一个 release 分支
git checkout -b release/1.0.0 develop
- hotfix 分支
hotfix 分支用于修复生产环境中的紧急问题,通常是部署到 main 分支后发现的bug。
hotfix 分支从 main 分支创建,当修复完成后,它会合并回 main 和 develop 分支。
hotfix 分支是用于生产环境的紧急修复,确保修复后的版本可以迅速推送到生产环境。
# 从 main 分支创建 hotfix 分支
git checkout -b hotfix/1.0.1 main
Git Flow 的基本操作流程
- 开发新功能(Feature)
使用 feature 分支开发新功能时,首先从 develop 分支创建一个新的 feature 分支:
git checkout develop
git checkout -b feature/feature-name
开发完成后,将 feature 分支合并回 develop 分支:
git checkout develop
git merge feature/feature-name
- 发布新版本(Release)
当 develop 分支准备好发布时,创建一个 release 分支
git checkout develop
git checkout -b release/1.0.0
在 release 分支上进行最后的修复和测试,完成后合并回 main 和 develop 分支:
git checkout main
git merge release/1.0.0
git tag -a v1.0.0 -m "Release version 1.0.0"
git checkout develop
git merge release/1.0.0
- 热修复(Hotfix)
当发现生产环境中有紧急问题时,从 main 分支创建一个 hotfix 分支:
git checkout main
git checkout -b hotfix/1.0.1
修复完 bug 后,将 hotfix 分支合并回 main 和 develop 分支:
git checkout main
git merge hotfix/1.0.1
git tag -a v1.0.1 -m "Hotfix version 1.0.1"
git checkout develop
git merge hotfix/1.0.1
git-flow.png











网友评论