要做到这一点,我们使用命令git rebase 。通常情况下,它被用来。
- 编辑以前的提交信息
- 将多个提交合并为一个提交
- 删除或恢复不再需要的提交内容
让我们举个例子。
假设我们已经有了一个有很多提交的现有仓库。首先,检查你的提交日志。
git log --oneline
现在,假设我们想合并最后的 4 个提交。运行git rebase ,其中-i 表示交互式,HEAD~4 表示查看最后 4 个提交。
git rebase -i HEAD~4
你的编辑器中应该会出现类似这样的内容。
pick 43432432 my commit message to preserve
pick 43132132 my other commit message
pick 12353434 some commit message
pick 64554234 update something
....
如果您想把所有的提交都压成 "我的提交信息保留",那就把它改成这样。
pick 43432432 my commit message to preserve
f 43132132 my other commit message
f 12353434 some commit message
f 64554234 update something
....
请确保你阅读了git在编辑器中以注释形式添加的说明。一旦满意,推送到远程仓库。
git pull origin master
git push origin master
完成了吗?是的,但这里有一个建议:这被认为是一种不好的做法,因为它压制了提交,使其他使用该仓库的人感到困难。这样做的风险自负。