GitHub Flow
GitHub Flow 流程介绍
GitHub Flow 是一种 简单且快速 的 Git 分支管理方式,特别适合 CI/CD、自动化部署 和 小型或持续交付的团队。
相较于 GitFlow:
- 没有
develop
分支,所有功能分支直接从main
切出,并合併回main
。 - 没有
release
和hotfix
分支,所有变更都透过 Pull Request (PR) 合併到main
,然后透过 Tag 发布版本。 - CI/CD 自动部署,通常
main
分支的变更会立即触发部署。
特点:
- 所有新功能、Bug 修复 都是从
main
建立分支,不使用develop
。 - 功能开发完毕后,会透过 PR 进行 Code Review。
Github Flow步骤
# 确保main是最新的
git checkout main
git pull origin main
# 建立新功能分支
git checkout -b feature-login
git push -u origin feature-login
# 进行开发并提交代码
git add .
git commit -m "feat: 新增登入功能"
git push origin feature-login
开发中的时候要更新分支
git checkout main
git pull origin main
git merge feature-login # 确保手动合併前是最新的
建立 Pull Request (PR)
在 GitHub 建立 PR:
- 切换到 GitHub 仓库
- 建立 Pull Request (PR)
feature-login
→main
- 请求 Code Review
- 通过 Review 后合併
合併 PR
合併 PR 后,删除分支
git checkout main
git pull origin main
git branch -d feature-login
git push origin --delete feature-login
发布版本(可选)
如果这次变更需要一个正式版本号:
git tag -a v1.0.0 -m "Release v1.0.0"
git push origin v1.0.0
GitHub Flow 总结
阶段 | Git 操作 | GitHub 操作 |
---|---|---|
功能开发 | git checkout -b feature-name | 建立 PR,合併 feature-name → main |
Bug 修复 | git checkout -b bugfix-name | 建立 PR,合併 bugfix-name → main |
合併变更 | git merge feature-name | Code Review 后合併 PR |
删除分支 | git branch -d feature-name | GitHub 会自动提示删除已合併的分支 |
版本发布 | git tag v1.0.0 | 推送 Tag 来触发 CI/CD |
这样的 GitHub Flow 简单、快速、适合 CI/CD 自动化部署的开发模式
元哥的笔记