Git 怎么用 rebase 合并几个 commit

【字号: 日期:2023-10-13浏览:16作者:雯心

问题描述

据说 Git 可以通过 rebase 合并几次提交,最终在历史记录中只留下合并后的那一个。

因为我在改一个 bug 的时候中途提交了几次,但最后需要把中间几次提交都取消掉,直接合并最后一次提交上去,比如

aaaaaa 修改前小小的重构bbbbbb 修改拼写错误cccccc 重算 a 过程dddddd 重算 b 过程eeeeee fix #2382

我想最终在历史记录只有

abcdef fix #2382,重算了 a、b 过程

应该怎么做?我平时用 SmartGit,不过用命令行解决也行

问题解答

回答1:

git rebase -i <eeeee的前一次提交>把不需要的 commit 前面设为 s 保存退出后编辑新的log,比较复杂

还有一种方法,但是要求 aaaaa 是当前最新的提交git reset --soft <eeeee的前一次提交>然后重新 git commit

反正吧,这两种方式都是比较危险的操作,建议新手先找个心项目试试

相关文章: