没有代码分支管理,存在的痛点:
代码没备份,如果代码丢失就真的丢失了。
代码没有编码规范,不同人实现的代码差异化大,代码的可读性差,问题缺陷多。
代码没有版本管理,如果遇到版本更新或回滚,没有可指定的代码版本进行跟进。
没有自动化代码审查的准则。
开发在整个项目开发流程的代码管理方式:(github/gitlab/gitee)
仓库创建:接到一个新的业务时,开发 leader 会在企业的代码管理平台下新建一个新的仓库。
权限分配:leader把开发任务分配给开发A和开发B,接着会给他们赋予仓库主干分支的读取权限。
分支创建:
开发A需要基于项目的主干分支拉取一条新的子分支,开发分支(命名方式通常是自定义但要体现开发背景、时间、人员,20241121_mfs_homin)。
开发B需要基于开发A的开发分支拉取新的子分支。
代码提交:
开发A和开发B就可以开始执行开发任务,每天下班前会将当天的代码提交到远程仓库上。
开发B完成编码任务后,需向A提交代码合并诉求,开发A需要审查review开发B,确保不存在任何的代码冲突问题。
服务部署:准备提测时,开发A会将开发分支的代码部署在测试环境中。
创建 release 标签:测试完成后,确保开发分支已经没有严重缺陷,满足质量的交付要求后,开发A需要给当前的开发分钟打上release标签 1.0 2.0 3.0,并删除远程的开发分支。
验证 release 分支稳定性:需要测试验证一下release分支的稳定性,测试需要验证主流程。
合并到 master 分支:准备版本发布上线时,需要将release分支合并到master/main分支上(主干分支指的就是线上运行的版本)。
迭代开发:遇到迭代需求,开发会在原仓库的主干分支拉取子分支进行开发。
接口自动化的代码管理流程:
step1:用例评审完后需要开始搭建接口自动化框架和全量脚本的转换,测试主管会在这个时候新建一个代码仓库,给项目开发者进行授权。
step2:项目开发者进行远程仓库的拉取和子分支的新建。
step3:开始进行编码,当天下班完成代码提交。
step4:自动化项目开发完成后,等到开发提测,完成测试环境的验证。
step5:合并分支到主干分支上,项目开发者推送合并诉求,并把合并的地址同步给仓库管理人员,仓库管理人员会进行代码审查。
step6:合并完成以后,会基于当前主干分支打标签版本,标签命名按版本信息即可。
step7:定时巡检部署。
代码管理常用 git 命令:
git checkout -b ---- XXXX 新建XXXX分支并切换
git add . ---- 将需要上传的代码放在暂存区
git commit -m "XXX" ----将暂存区的代码提交到当前分支上
git push origin XXX ---- 将当前分支提交到远程XXX分支上
git clone XXXX ---- 从XXXX分支上克隆代码到本地
git branch -a ----查看所有本地分支
git status ----查看当前仓库状态
git pull origin XXX ----从XXX分支拉取最新代码
评论区