git rebase
git rebase 将当前分支移植到指定分支或指定commit之上。
$ git rebase -i <commit>
互动的rebase。
$ git rebase -i master~3
命令行参数
—autosquash
--autosquash
参数用于互动模式,必须与-i
参数配合使用。它会使得以前通过git commit --fixup
和git commit --squash
提交的 commit,按照指定的顺序排列(实质是选择提交说明以以fixup!
或squash!
开头的 commit),即--fixup
的 commit 直接排在它所对应的 commit 的后面。
$ git rebase --interactive --autosquash <branch>
—continue
--continue
参数用于解决冲突以后,继续执行 rebase。
$ git rebase --continue
-i,—interactive
-i
参数会打开互动模式,让用户选择定制rebase
的行为。
$ git rebase -i develop
参考链接
- Auto-squashing Git Commits, by George Brocklehurst