学习大佬的iOS开发进阶-06 | 代码管理:如何使用 Git 与 GitHub 统一代码管理流程?,与自己的Git分支管理对比。
建议大家看廖雪峰老师的Git教程,里面讲了git的使用和操作,在这里对具体操作不做说明,只对比不同对分支定义。
大家如果去了一家公司,也建议先了解清楚公司的代码分支管理流程,以免提交代码的时候造成错误。网上介绍比较详细的应该是下图,但不同公司的具体代码分支定义可能有所不同。

Git分支管理:
各个公司的定义各有不同,比如我之前公司定义:
主分支:master
发布分支:release
开发分支:develop
功能分支:feature
mater分支作为主分支,确保的是代码一定是线上已发布的代码,tag也在master分支,每次release分支发布上线后,合并到mater。
release分支作为发布分支,代码是从develop合并的,功能开发完成提测后,合并代码到release,改bug也在release,最后提交上线也是在release。
develop分支作为开发分支,代码是从master拉取的,功能开发平时也是直接从feature拉取,最后合并到develop。
feature分支,有特别大的开发需求时,不能保证是否会跟随当前版本上线的,会单独拉取一个feature分支。直到确定要上线的分支后,再把当前分支合并到develop。
而这里林大佬介绍的是:
master分支作为默认分支,feature分支从master分支拉取,开发完成后合并到master。
release分支作为发布分支,线上最新的代码都在release分支保存,bugfix从release分支拉取,最后合并到release,再合并到master。


后续GitHub Pull Request的流程和Github的配置各个公司应该都大同小异。
PR流程:
一个功能开发完成后,要想合并到主分支,必须要经过CodeReview,没有问题后,才可以合并。
Github配置:
把主分支保护起来,以及测试进入回归后把分支保护起来,后续修改bug的提交必须经过CodeReview后才可以提交到当前分支。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。