首页/开发/Git 与协作速查/变基中的空提交与 --empty
合并变基与冲突71 条

变基中的空提交与 --empty

重放后内容已被上游包含的提交会变成空提交;用 --empty=drop|keep|stop 控制行为,避免历史里出现无意义空提交或意外停下。

Git 与协作速查开发更新于 2026-10-12
成因提交改动已被目标分支包含
控制git rebase --empty=stop|keep|drop
旧参数--keep-empty(保留空提交)

常用示例

常用示例
git rebase --empty=drop origin/main
git rebase --empty=stop -i origin/main
出现大量空提交通常说明分支与主干已有重叠,先核对是否真的需要这次变基。

易错点

  • stop 会在每个空提交处暂停,批量场景容易卡住,先想清楚要保留还是丢弃
  • drop 静默丢弃空提交可能掩盖「本该有改动却重复」的问题,出现时要排查来源

数据来源与参考

  • Git 官方文档:git-rebase(--empty)
  • Git 2.26 Release Notes
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌