
Boot+Cloud项目学习:macrozheng.com
2年前,记忆犹新啊!别的部门招聘人多于HC,送过来我们组一个研发“T6大佬”
,这哥们第一次接需求,就直接在 test 分支写自己的需求代码。等到测试完,这哥们要把 test 分支合并到 master 上线时,全县的鸡鸭鹅狗都慌了!再强大的规范,也干不过有人偷偷捣乱。
test 分支是全组40来个研发,各自需求分支代码合并过来测试的分支,有很多都是在测试中的,还不能一起上线!所以,那个夜晚,40来个研发,一起配合“T6大佬”
往出拆代码!拆完之后还要重新进行测试,就这样才保证了第二天可以上线。否则又要等下一周的上线日了。
做程序员👨🏻💻能实现业务逻辑写代码虽然占比很大,但绝对不是说程序员就只是写代码。还要清楚的知道必要的研发规范,同时熟练的使用相关从开发到上线的一些列工具。并且具有风险意识和冷静处理紧急事项的能力。这样才是一个合格个程序员👨🏻💻
一、分支命名
不同公司中对Git的使用分支命名规范也略有差异,不过整体都会分为;上线
、预发
、开发
、测试
,这样几个分支。如图是一种比较简单使用的拉取分支方式。

- master/main 作为主分支,不可直接修改代码代码,只能从分支合并到主分支进行进行提交。同时,master 分支的合并需要进行审批,审批后才能合并。
- 开发前,先从 master 分支,拉一个开发分支。
2024/10/11/xfg-xxx
使用带有斜线的分支命名会自动创建文件夹,对于多人开发的项目,可以直接归档。 - 后开发,也就是研发已经完成了本地的验证。进行测试时,可以把研发的开发分支合并到 test 分支,提交、部署、测试。遇到测试bug,需要回到可发分支修改代码,之后合并到 test 分支部署验证。
- pre/release 预发分支,用于测试完成后,把研发的开发分支合并到预发分支进行预发上线,上线后测试人员进行验证。最终完成验证后,把开发分支合并到 master 分支,并需要由架构师对合并代码审批通过。最后进行上线开量验证。
- 如果是修复bug的,可以添加一个
fix-用户名缩写-具体功能
这或许是一个对你有用的开源项目,mall项目是一套基于 SpringBoot3 + Vue 的电商系统(Github标星60K),后端支持多模块和 2024最新微服务架构 ,采用Docker和K8S部署。包括前台商城项目和后台管理系统,能支持完整的订单流程!涵盖商品、订单、购物车、权限、优惠券、会员、支付等功能!
- Boot项目:https://github.com/macrozheng/mall
- Cloud项目:https://github.com/macrozheng/mall-swarm
- 视频教程:https://www.macrozheng.com/video/
项目演示:
二、提交规范
保持一个标准的统一的规范提交代码,在后续的评审、检查、合并,都会非常容易处理。
提交规范:type:【需求名】desc #id
如:feat:【抽奖算法】O1、Ologn 时间复杂度算法实现 #需求id(github pr/行云等会有自动关联)
参考Commit message 规范
# 主要type
feat: 增加新功能
fix: 修复bug
# 特殊type
docs: 只改动了文档相关的内容
style: 不影响代码含义的改动,例如去掉空格、改变缩进、增删分号
build: 构造工具的或者外部依赖的改动,例如webpack,npm
refactor: 代码重构时使用
revert: 执行git revert打印的message
# 暂不使用type
test: 添加测试或者修改现有测试
perf: 提高性能的改动
ci: 与CI(持续集成服务)有关的改动
chore: 不修改src或者test的其余修改,例如构建过程或辅助工具的变动
三、合并分支
在公司中很多时候是大家一起在一个工程开发代码,那么这个时候就会涉及合并代码的。如果有多人共同开发一个接口方法,就会在合并的时候产生冲突。所以要特别注意。

- 选择,你要从哪个分支合并到 test 分支。右键选择 Merge into test
- 如果你合并到test分支的代码,有其他人也在同一行做了改变或者格式化了代码,就会弹出一个合并冲突。这个时候你需要点 Merge 进行合并。
- 在点击 Merge 后,你会看到具体冲突的代码是什么,你可以有选择的从左右合并到中,最后点击 Apply。这个时候要注意不要把让别人的代码合并丢喽。
- 合并完的代码,不要直接 push,你要先本地 install 看是否可以打包。以及如果可以运行的话,可以本地先跑一下。最后 push 提交合并代码即可。
四、回滚代码
如果出现了合并代码冲突后,丢失了代码,那么这个时候一般要进行回滚操作,重新合并。
虽然 Git 提供了回滚代码的功能,但一定要谨慎使用。怎么谨慎?第一个谨慎就是 push 的代码一定确保可以构建和运行,否则不要 push!第二个谨慎是要回滚代码,需要和团队中对应的伙伴打招呼,避免影响别人测试或者上线。

- 先选择要在哪个分支的哪次提交上进行回滚。这里选择的是 test 分支上的提交进行回滚。
- 这里选择 Hard 回滚。因为我们所有的都是合并到 test 分支,所以 test 分支丢失也没问题。可以重新合并。但要和同组伙伴提前说明。
- 回滚后,你会看到代码只剩下从回滚往下的提交内容了。
- 回滚后,你不能直接 push 提交了,这个之后会报错;
fast-forward
因为此时本地分支落后于远程分支。 - 所以要通过
git push origin HEAD --force
进行强制提交。或者你可以把 test 的远程分支删掉,之后在提交。
五、多学实战
Github上标星11K
的微服务实战项目mall-swarm,全套 视频教程(2024最新版) 来了!全套教程约26小时,共59期
,如果你想学习目前最新的微服务技术栈
,同时提高自己微服务项目的开发能力
的话,不妨了解下,下面是项目的整体架构图,感兴趣的小伙伴可以点击链接 mall-swarm视频教程 加入学习。

整套 视频教程
的内容还是非常完善的,涵盖Spring Cloud核心组件、微服务项目实战、Kubernetes容器化部署等内容,你也可以点击链接 mall-swarm视频教程 了解更多内容。
推荐阅读
