首页/开发/Git 与协作速查/变基中断的继续、跳过与放弃
合并变基与冲突71 条

变基中断的继续、跳过与放弃

变基过程中遇到冲突或 edit 暂停:解决后 --continue 推进,--skip 放弃当前提交,--abort 回到变基前状态。

Git 与协作速查开发更新于 2026-10-13

变基中断了怎么办

变基过程中遇到冲突,或清单里写了 edit 需要停下来修改,流程都会暂停等待处理。此时有三个出口:解决冲突后继续推进、跳过当前这条提交、或者整体放弃回到变基之前。判断依据是 git status 的首行提示,它会写明当前正在变基并列出可用的命令。

三个出口怎么选

continue 用于「冲突已解决、想按原计划走完」;skip 用于「这条提交的内容已经不需要了」,它会把当前这条提交整体丢弃;abort 用于「这次变基整体做不下去了」,它把分支恢复到开始之前的状态。前两个会改变历史内容,abort 只是回滚,风险相对低。

基本信息

适用平台Linux / macOS / Windows(Git 2.x)
继续git rebase --continue
跳过git rebase --skip,丢弃当前这条提交
放弃git rebase --abort,恢复到变基开始前
常见暂停场景冲突未解决,或清单里使用了 edit
状态识别git status 的首行提示当前正在变基

典型使用场景

  • 冲突后推进:解决并 add 之后继续重放剩余提交
  • 跳过空提交:某条提交的改动已被上游包含,结果为空
  • 整体放弃:发现基点选错或范围失控时回退
  • edit 场景:暂停修改内容或拆分提交,完成后继续
  • 交接排查:把卡在变基中的仓库状态说明清楚再交给同事

常用示例

常用示例
git status                    # 查看当前处于什么操作
git add <已解决文件>          # 标记该文件已解决
git rebase --continue         # 继续推进剩余的提交
git rebase --skip             # 丢弃当前这条提交并继续
git rebase --abort            # 整体放弃,恢复原状
git log --oneline --graph -8  # 完成后核对历史形态

三个出口对照

命令作用代价
--continue按原计划继续重放需要先解决冲突并 add
--skip丢弃当前这条提交该提交内容不再进入历史
--abort回到变基开始前期间的解决成果全部丢失
--edit-todo重新编辑待办清单不结束变基流程
edit 暂停时,改完内容要先 git add,再执行 --continue;不确定自己处在什么状态,就执行 git status 看首行提示。
--skip 会静默丢弃当前这条提交的内容,只在确认该提交已经被其它方式包含时才使用,否则会丢掉改动。

易错点

  • --skip 会静默丢弃当前提交的内容,只在确认该提交已被其它方式包含时使用
  • --abort 恢复到变基开始前,期间做的所有解决工作都会丢失,动手前确认没有值得保留的结果
  • 冲突解决后忘记 git add 就执行 --continue,会再次报错并反复失败
  • 把 --skip 当作「跳过冲突」来用,等于直接丢掉了那条提交的实际改动

数据来源与参考

  • Git 官方文档:git-rebase(--continue/--skip/--abort)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌