一篇测试文章

49 阅读2分钟

Git 分支策略:一个高效的团队协作工作流

在软件开发的团队协作中,一个清晰、高效的 Git 分支策略是至关重要的。它能够减少代码冲突,保证主分支的稳定性,并使功能集成和版本发布变得平滑可控。本文将介绍一种基于 Gitflow 改良的常见分支策略。

核心分支

我们的策略主要围绕两个核心分支展开:

  • main (或 master): 稳定分支。代表当前已发布的生产环境代码,其历史记录必须是线性的、稳定的。任何提交都必须是经过测试和验证的。
  • develop集成分支。用于集成下一个版本要发布的所有功能,代表最新的开发状态。通常是不稳定的。

辅助分支

辅助分支是为特定目的创建的临时分支,完成后会被合并并删除。

1. 功能分支 (Feature Branches)

  • 分支来源develop
  • 合并目标develop
  • 命名约定feature/<简短功能描述> 或 feat/user-authentication

用于开发新功能或进行任何改进。每个新功能都应该在自己的分支上独立开发。

创建并切换到一个新功能分支

git checkout -b feature/awesome-new-feature develop

完成开发后,合并回 develop 分支

git checkout develop
git merge --no-ff feature/awesome-new-feature
git branch -d feature/awesome-new-feature # 删除功能分支

创建发布分支

git checkout -b release/1.2.0 develop

... 进行发布前的准备工作 ...

合并到 main 分支并打上标签,正式发布

git checkout main
git merge --no-ff release/1.2.0
git tag -a v1.2.0 -m "Release version 1.2.0"

将发布分支的修改(可能有的小修复)合并回 develop

git checkout develop
git merge --no-ff release/1.2.0

删除发布分支

git branch -d release/1.2.0

从 main 分支的标签(如v1.2.0)创建热修复分支

git checkout -b hotfix/critical-login-bug main

... 紧急修复bug ...

修复完成后,合并回 main 并打上新标签

git checkout main
git merge --no-ff hotfix/critical-login-bug
git tag -a v1.2.1 -m "Hotfix for critical login bug"

同时,必须将修复合并回 develop 分支,确保后续开发也包含此修复

git checkout develop
git merge --no-ff hotfix/critical-login-bug

删除热修复分支

git branch -d hotfix/critical-login-bug