【Git】rebase 用法小结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了【Git】rebase 用法小结相关的知识,希望对你有一定的参考价值。

参考技术A rebase在git中是一个非常有魅力的命令,使用得当会极大提高自己的工作效率;相反,如果乱用,会给团队中其他人带来麻烦。它的作用简要概括为:可以对某一段线性提交历史进行编辑、删除、复制、粘贴;因此,合理使用rebase命令可以使我们的提交历史干净、简洁!

现在我们在测试分支上添加了四次提交,我们的目标是把最后三个提交合并为一个提交:

这里我们使用命令:

其中 -i 的意思是 --interactive ,即弹出交互式的界面让用户编辑完成合并操作, [startpoint] [endpoint] 则指定了一个编辑区间,如果不指定 [endpoint] ,则该区间的终点默认是当前分支 HEAD 所指向的 commit (注:该区间指定的是一个前开后闭的区间)。
在查看到了log日志后,我们运行以下命令:

或:

然后我们会看到如下界面:

然后是注释修改界面:

当我们项目中存在多个分支,有时候我们需要将某一个分支中的一段提交同时应用到其他分支中,就像下图:

其中, [startpoint] [endpoint] 仍然和上一个命令一样指定了一个编辑区间(前开后闭), --onto 的意思是要将该指定的提交复制到哪个分支上。
所以,在找到C(90bc0045b)和E(5de0da9f2)的提交id后,我们运行以下命令:

注:因为 [startpoint] [endpoint] 指定的是一个前开后闭的区间,为了让这个区间包含C提交,我们将区间起始点向后退了一步。
运行完成后查看当前分支的日志:

此时我们才大功告成!

注:文中如有任何错误,请各位批评指正

以上是关于【Git】rebase 用法小结的主要内容,如果未能解决你的问题,请参考以下文章

git merge 和 git rebase 小结

git merge 和 git rebase 小结(转)

Git常用操作整理

git-stash用法小结(转)

git 的一些基本命令小结

git rebase的用法