首页/开发/Git 与协作速查/交互式变基拆分提交
合并变基与冲突71 条

交互式变基拆分提交

把一个大提交拆成多个:在 todo 中把该行改为 edit,停下后用 git reset HEAD^ 退回到暂存前,再分批暂存提交。

Git 与协作速查开发更新于 2026-10-12
用途把粗粒度提交拆细
步骤rebase -i 标记 edit → reset HEAD^ → git add -p → 多次 commit → --continue
配套git add -p 交互式暂存

操作步骤

操作步骤
git rebase -i HEAD~3   # 目标行改为 edit
git reset HEAD^
git add -p
git commit -m 'feat: 拆出参数校验'
git add src/other.js
git commit -m 'feat: 拆出错误处理'
git rebase --continue
拆分后每个提交都应能独立通过构建与测试,做不到时就保持为单个提交。

易错点

  • 拆到一半 --abort 会整体回退,之前的拆分会丢失;耗时较长时先建备份分支
  • reset HEAD^ 默认混合模式会把改动留在工作区,不会丢内容,但别用 --hard

数据来源与参考

  • Git 官方文档:git-rebase(edit)
  • Pro Git 2nd Edition · 7.6 重写历史
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌