参考文章
https://nvie.com/posts/a-successful-git-branching-model/
代码分支
分支 | 说明 | 创建来源分支 | 代码来源 | 目标分支 | 代码输入方式 | 生命周期 | 命名规则 |
---|---|---|---|---|---|---|---|
master | 主干分支,通常作为代码基线,所有发布的代码最终都会合并到此分支 | 无 | release、hotfix | 无 | pull request | 长期 | master |
develop | 开发分支,通常作为其他分支的源分支,也最终会合并回此分支 | 无 | release、hotfix、feature | 无 | pull request | 长期 | develop |
feature | 功能分支,用于为未来的应用版本开发新的功能需求 | develop | 开发者 | develop | merge | 并入目标分支后删除 | feature/{jira_issue_key} |
release | 发布分支,用于辅助新版本发布的准备工作,例如小bug的修复,或者版本号的修改等等 | develop | 开发者、hotfix | develop 、master | merge | 并入目标分支后删除 | release/{jira_issue_key} |
hotfix | 修复分支,用于正式版本的紧急修复 | master | 开发者 | develop、master、release | merge | 并入目标分支后删除 | hotfix/{jira_issue_key} |
功能开发
研发 | 测试 | 审查者 | |
---|---|---|---|
创建并推送功能分支 | √ | ||
创建 feature → develop 的 pull request | √ | ||
代码审查 | √ | ||
功能测试 | √ | ||
合并代码到开发分支 | √ | ||
关闭 pull request | √ |
版本发布
Hotfix修复