什么是Gitflow
Gitflow是基于Git的强大分支能力所构建的一套软件开发工作流,最早由Vincent Driessen在2010年提出。
目的
减少冲突、加强分支管理、提高开发效率。
Gitflow分支
核心分支:master(生产分支)、develop(开发分支)
临时分支:feature(功能分支)、release(发布分支)、hotfix(补丁分支)
标签:tag(里程碑)
master(生产分支):该分支上的代码随时可以部署到生产环境,这个分支只能从其他分支合并,不能在这个分支直接修改。
develop(开发分支):存放所有功能最新最完整的代码,基于master分支创建一个develop分支(开发组长创建)。
feature(功能分支):每一个新的功能都应该创建一个独立的分支,基于develop分支创建一个feature-login分支(程序员创建)。当功能完成后,把feature-login合并到develop分支上(千万不要提交合并到master)。
release(发布分支):预发布分支、进行发布前回归测试分支,基于develop分支创建一个release-1.0.0分支(开发组长创建),在release-1.0.0分支测试并修复bug,当完成测试后,把release-1.0.0合并到master和develop分支上,然后,基于master分支创建一个里程碑版本(tag)名为v1.0.0.RELEASE,删除完成使命的feature-login、release-1.0.0分支。
hotfix(补丁分支):生产环境发现新的Bug时候,基于master分支创建一个hotfix-bug分支(程序员创建),在hotfix-bug分支上修复bug,当完成bug修复后,把hotfix-bug分支合并到master和develop分支上,然后,基于master分支创建一个里程碑修复版本(tag)名为v1.0.1.RELEASE,删除完成使命的hotfix-bug分支。
命名约定
主分支名称:master
主开发分支名称:develop
标签(tag)名称:v1.0.0.RELEASE,其中“v1.0.0”为版本号
新功能开发分支名称:feature-login 或者 feature/login,其中“login” 为新功能简述
发布分支名称:release-1.0.0 或者 release/1.0.0,其中“1.0.0”为版本号
master的bug修复分支名称:hotfix-bug 或者 hotfix/bug,其中“bug”为bug简述