release合并pre-release冲突解决
release是最终的线上分支,pre-release是预发布的分支,一般都是从pre-release合并到release做最终的发布,两个分支都是受保护的protected分支,不可以本地merge。
问题现象
release合并pre-release存在冲突,无法merge成功
问题原因
- pre-release分支存在没有merge到release的更改;
- release因为一些原因也存在与pre-release不一致的更改;
- 某个java类文件,存在冲突导致无法merge
解决方案
-
因为两个分支都是protected分支,所以本地也无法合并,gitlab上面合并又存在冲突
2. 所以从pre-release拉出一个分支,merge release into 该分支
3. 冲突的地方accept remote的release的更改,然后创建一个commit
4. 但是因为release除了冲突之外的其他变更,我们不需要,所以要手动取消冲突文件之外的其他commit(借助github的客户端工具比较方便)
- 最终把修复冲突分支mrege到pre-release即可