存在合并冲突时执行git rebase变基操作的具体处理步骤咨询
Git rebase合并冲突解决步骤
现有分支结构如下:
B | C - E -F my branch | D develop branch
操作步骤
- 第一步,先同步本地develop分支的最新代码:
- 切换到develop分支:
git checkout develop - 拉取远端最新代码:
git pull origin develop
- 切换到develop分支:
- 第二步,切换到待操作的特性分支:
git checkout "my branch"(分支名含空格需加引号,无空格可直接写分支名) - 第三步,启动rebase操作:
git rebase develop - 第四步,处理冲突:
- 执行
git status查看标注为both modified的冲突文件 - 逐个打开冲突文件,删除
<<<<<<< HEAD、=======、>>>>>>> <提交ID/提交信息>标记,保留最终需要的代码内容 - 冲突修改完成后,执行
git add <冲突文件路径>将修改加入暂存区,也可以用git add .批量暂存所有修改
- 执行
- 第五步,继续rebase流程:
git rebase --continue
*注意:由于my branch包含E、F两个独立提交,可能每个提交应用到develop分支时都会触发冲突,每次冲突都重复第四步和第五步的操作,直到所有提交应用完成。 - 异常处理:如果操作中途想放弃本次rebase,恢复到操作前的分支状态,执行
git rebase --abort即可
后续操作
rebase完成后,my branch的提交历史会变成基于develop分支最新的D节点,提交序列为B -> C -> D -> E -> F。如果需要将修改推送到远端仓库,因为分支历史已经改写,需要执行强制推送:git push origin "my branch" -f,请确认只有你一人在维护该特性分支时再执行强制推送操作。
内容的提问来源于stack exchange,提问作者Uma U
相关产品推荐
相关产品推荐

