需求集成LightMerge能力接入
LightMerge是什么?
LightMerge即轻量级Merge,目标是将多个分支快速合并到一个分支,合并操作相较 PR 来说更轻量级(不提供 diff 查看,评审,卡点等功能),一般用于线下测试时快速生成集成分支。版本发版分支上线的内容由多个RD在多个分支开发实现,在上线前需要将多个开发分支的内容合并进集成分支进行发版。为此引入Code平台提供的git能力,
如何使用LightMerge?
拥有仓库写权限或者管理员权限的用户可以使用LightMerge功能。
通过新建LightMerge可以新建一个多分支的合并,将多个源分支合并到目标分支中,重要的分支(如Master分支)最好设置为LightMerge保护分支,防止在整个LightMerge的过程中污染了重要分支代码
在源分支的添加中,最新加入的分支在最前面,因为LightMerge会按页面展示的分支顺序执行,保障修复LightMerge中发生冲突的分支添加后可最先被合并
通过Edit按钮可以修改基础分支、增加或删除源分支
通过Check按钮可以校验分支中是否冲突,如果有冲突,请按照对应的冲突信息解决
通过Refresh and Push按钮可以进行分支的合并(每一次合并前请先点击Check按钮确认是否有冲突),合并会修改目标分支代码,请一定注意
通过Delete按钮可以将该LightMerge删除
在源分支上解决冲突,在本地的 source2 分支上,通过复制 lightmerge 的 merge 流程,复现出冲突,然后在 source2 分支上解决冲突后提交,并重新执行 lightmerge, 破坏了源分支的独立性,导致用于解决冲突的源分支提前 merge 了其他源分支(为了解决冲突)
sop:
git checkout source2
git fetch
git merge origin/master
git merge origin/source1
自行解决冲突
git push origin source2
重新执行 lightmerge