git rebase
git rebase
的使用意义是,将当前分支上发生的事情,以指定的分支为参考基础,重现一遍。
再具体地说就是,从 git rebase
指定的分支和当前分支的最近祖先节点开始,将当前分支所有的提交点挪到指定分支所有的提交点之后。
其实自己大概搞明白怎么使用之后,顾名思义解释一番就是,base 就是基于哪一点开始提交,所谓 rebase 就是重新基于某一点开始提交,即是修改提交的基点历史。
再来看 git rebase -i
就能更好地理解。
git rebase -i
git rebase -i
的使用意义是,以指定的分支为参考,手动修改当前分支的提交历史。
这部分功能和上面所说的其实有所重合。可以认为,如果不加上 -i 参数,则默认将所有的提交不做修改的重现。
git rebase --onto branch1 branch2 branch3
git rebase --onto
的使用意义是,以 branch1
为参考,将在 branch3
中,而不在 branch2
中的所有提交都重现一遍。
这一条也可以与第一条有所重合,第一条算是这一条的特殊情况。用途是可以将基于未完成的新分支开发的新分支的工作,合并到主分支上去。