Github 解决 Pull Request 冲突的方式是:先把目标分支合并到源分支,然后再把源分支合并到目标分支解决冲突
这个做法在一些情况下真的挺危险的,所以想了解下大家是怎么做的
比如,举个例子就是我想把 feature/image 合并到 开发环境的分支 develop 上,然后我提了 pull request,冲突了
我使用 Pull Request 界面里的冲突解决功能,解决了冲突并确认合并,Github 会按照下面的过程解决冲突:
- 先把
develop分支合并到feature/image分支上解决冲突 - 再把
feature/image分支合并回develop上完成合并
Github 这样做有个特别大隐患就是, 经过这么一搞, develop 分支上的所有变动和功能都会合并到 feature/image 上
如果有人没注意到这件事想发布 feture/image 到生产环境,把 feature/image 合并到了准 release 环境的分支上,那么准 release 环境就会不光包含 feature/image 的代码,还包含了整个开发环境的所有变动。这在开发环境还有一些测试中的功能的时候很致命
这真的是很有可能发生的问题,我今天就是在 review 一个 release 的过程中发现了这个问题,把这问题拦下来了,没造成大问题
但如果万一有人疏忽可能问题会很大,如果以使用 Pull Request 为前提的话,该怎么解决这个问题的?在 feature/image 上新建个 feature/image-develop-release 分支,然后用这个分支合并到 develop 上?