Git多层嵌套分支场景下如何merge level分支到develop分支
Git分支合并操作方案
首先确认当前分支状态:
- develop已合入auth分支代码,但缺少level、class分支的改动
- auth已合入level分支代码,但缺少class分支改动
- level已合入class分支代码,包含level、class的全部业务逻辑
Git会自动识别已存在的共同提交,不会重复合入已经在develop上的auth代码,按以下步骤操作即可,优先在非主分支处理冲突,避免污染develop分支: - 同步本地所有分支的远端最新代码,禁止基于过期本地代码操作
git checkout develop git pull origin develop git checkout level git pull origin level
- (推荐操作)将最新的develop代码合入level分支,提前处理冲突
git merge develop
如果执行后出现冲突提示,按业务逻辑修正所有冲突文件后,执行以下命令完成level分支上的合并:
git add <修正后的冲突文件路径> git commit -m "chore: merge develop into level before merging to main"
这一步完成后,level分支已经包含develop现有代码、auth、level、class三个分支的全部逻辑,不存在代码缺失。
- 本地合并level到develop分支
切回develop分支执行合并,因为上一步已经处理完所有冲突,这一步不会出现冲突报错:
git checkout develop git merge level
- 校验无误后推送到远端
执行git log --oneline --graph查看提交链路,确认auth、level、class的所有提交都已包含在develop历史中,确认代码功能正常后,执行推送:
git push origin develop
若团队要求走PR流程合并,不需要执行后续本地合并、推送develop的步骤:在level分支完成和develop的冲突处理后,直接执行
git push origin level把level分支推到远端,在代码托管平台提交level合入develop的PR,走完CI校验、代码评审流程后在线合并即可。
内容的提问来源于stack exchange,提问作者j10
相关产品推荐
相关产品推荐

