分享一个 git rebase 小技巧。

大家可能都知道,`git rebase -i` 命令可以修改 commit 历史,但是需要传入你想要修改的最早的 commit 的前一个 commtid。

比如 commit 历史是:
commit 9d2e80a367c1b1c487eee6da10e386107e89c67f
commit 3e08c643e39182c71f2e6beef6f45be4a5c70e83
commit ea8840c141eacbaa7af0688bdbe0b50249f4d068
commit f39533d2f3fa59ab5f0cbf9f938c3bd8f58bab34

你想修改前三个:`9d2e80a3`、`3e08c643`、`ea8840c1`,那么你需要执行命令:
git rebase -i f39533d2
那么问题来了,如果我想修改整个 commit 历史里面最久远的那么 commit(也就是第一个 commit),它并没有前一个 commit,因为它已经是最早的那么 commit 啦。

这时你可以使用以下命令:
git rebase -i --root
展开
评论