Git交互式变基中如何重启当前合并冲突并保留已完成工作?
重置当前交互式变基的合并冲突(保留已完成工作)
你已完成前两个提交的变基,卡在第三个提交(1111111)的冲突处理上,且已将冲突文件恢复干净,想要重新触发冲突并处理,按以下步骤操作:
重新触发当前补丁的冲突
执行命令让Git重新应用当前卡住的补丁,再次生成合并冲突:git apply $(git rev-parse --git-dir)/rebase-apply/patch执行后,
file.py会回到冲突状态,此时可重新处理冲突。处理冲突并继续变基
- 打开
file.py解决合并冲突 - 标记冲突已解决:
git add file.py - 继续变基流程:
git rebase --continue
- 打开
备选方案(若上述命令无效)
如果rebase-apply目录不存在(如Git版本较旧或变基方式不同),可尝试:
- 查看变基todo列表,确认当前待处理的提交ID:
找到下一条git rebase --edit-todopick 1111111 Personal changes,记录该ID。 - 回退到前两个提交处理完成后的状态:
git reset HEAD^ - 重新应用当前提交触发冲突:
此时文件会再次进入冲突状态,可重新处理。git cherry-pick --no-commit 1111111
内容的提问来源于stack exchange,提问作者Daniel Kaplan
相关产品推荐
相关产品推荐

