代码合并一不小心就会导致生产事故!
问题描述
背景:10月生产环境发布分支为release/v09,十月有张三、李四分别在该项目开发不同的功能
场景1: 分支release/zhangsan十月开发了功能1 2 3,全部上线预生产,上线生产功能1 2,如何合并分支和发版?
场景2:李四在同样项目上分支release/lisi开发了功能 4 5 全部上线生产,要求和张三的功能一起发版,如何合并分支和发版?
以上场景1,需要用到cherry pick 场景2可以用cherry pick 或者直接merge
以上开发协作和发版问题的解决步骤
一、创建10月发版分支release/v10,merge request 从release/v09全量拉取过来
二、cherry pick解决场景1 和 场景2
1、确保张三和李四都将各自已开发自测的代码push到云端git自己的分支
2、idea check out 到发版分支release/v10
3、cherry pick挑选功能1 2对应的push条目
4、push到云端git仓库**
cherry pick后 点击push 确认待提交代码是否就是张三的功能1 2 和 李四的 4 5 功能对应的提交内容。push到云端即可
注意,一般不建议直接用merge request 合并整个分支,除非你确定两个分支都是全部要合并的代码内容!因为合并整个分支很容易将不需要发布的部分代码发布到生产环境中,造成发布失败!推荐使用cherry pick!