You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于团队拒绝将master分支合并至develop分支的技术咨询

安全同步master热修复到develop的可行方案

我太懂你们团队的顾虑了——直接把稳定的master合并到堆满未测试特性的develop,简直是踩坑高发区,之前我接触的团队也出过好几次因为合并冲突处理不当,弄丢develop上未完成代码的情况。

别用直接合并的方式了,换这套流程能彻底规避风险:

  • git cherry-pick精准同步修复:master上的热修复/BUG修复都是独立的小提交,把这些提交的哈希值记下来,切换到develop分支后执行git cherry-pick <commit-hash>。这样只会把修复的代码同步过去,不会把整个master的历史和develop搅在一起,冲突范围也小得多。
  • 冲突必须找原开发人员处理:如果cherry-pick遇到冲突,绝对不能自己瞎改——喊写那个特性代码的同事过来一起看,他们最清楚逻辑,能避免误删未完成的工作。
  • 先本地测试再推远程:同步前先拉最新的develop,本地建个临时分支先做cherry-pick和测试,确认没问题再推到远程develop,别直接在公共分支上操作。
  • 留好同步记录:每次同步完,把对应的提交哈希记在团队文档或者PR备注里,方便后续追溯,也能防止重复同步。

之前你们遇到的代码丢失,大概率是合并时选了“接受master版本”,直接把develop上的代码覆盖了。而cherry-pick只针对单个修复提交,就算有冲突,也能清晰看到是修复代码和哪个特性代码冲突,更容易处理。

额外提一句:如果用GitHub/GitLab的话,还可以直接在develop上开个PR,把master上的修复提交作为源,走一遍代码审查再合并,多一层保障。

内容的提问来源于stack exchange,提问作者tonix

火山引擎 最新活动