?Git分支管理的框架版本同步设计:
.
理解并合理使用git各种分支,便可实现高可用的商用开发模式。
Git 在整个开发周期会保持两个“并行”的主要分支:
①origin/master:该分支的源码HEAD始终指向可立即用于生产环境的状态;
②origin/develop:该分支的源码HEAD总是反映下一个版本的最新开发状况。
也可以叫它”整合分支“,从它开始每日的构建;
# 辅助分支 的使用
除了master和develop两个主分支外,我们还需要其他辅助分支去完成并行开发、版本发布、快速修复生产环境Bug等操作,这些辅助分支的生命周期较短,通常在完成任务后立即被删除。
①feature分支(功能分支):
从develop检出:
shell> git checkout -b feature-xxx develop
完成功能后应该立即合并入develop分支,以确保功能被合并到即将发布的版本之中:
shell> git checkout develop shell> git merge –no-ff feature-xxx
* –no-ff 将在分支合并时创建新的提交对象,即使本次合并可以使用 fast-forward 提交。
这可以避免丢失功能分支的历史信息,把所有功能叠加提交入分支;
②release分支(发布分支):
从develop分支检出
shell> git checkout -b release-*.* develop // *.*为版本号
这个分支主要用于 追求一些细节修改、小Bug修复以及发布版本的数据修改等,该分支不能用于大功能的开发,在版本发布完成之后合并回develop分支并清除。
# 发布进 mastershell> git checkout master shell> git merge –no-ff release-*.* shell> git tag -a *.*
# 合并回 developshell> git checkout develop shell> git merge –no-ff release-*.*
③hotfix分支(热修复分支):
该分支可能从master分支检出,其本质是用于对生产版本进行快速修复。
由于develop分支上的开发还不足够稳定,无法并入生产版本,衍生出热修复分支来解决问题
shell> git checkout -b hotfix-*.* master
在完成Bug修复之后,该分支需要合并回 master 和 develop 分支,以保证下一个版本中也修复了该Bug。
操作与发布分支相似
# 合并入 mastershell> git checkout master shell> git merge –no-ff hotfix-*.* shell> git tag -a *.*.*
# 合并入 developshell> git checkout develop shell> git merge –no-ff hotfix-*.*
来源:Git中各种分支的使用