• 技术文章 >开发工具 >git

    git中rebase的用法是什么

    WBOYWBOY2022-01-04 16:58:06原创10630

    在git中,rebase可以对某一段线性提交历史进行编辑、删除、复制、粘贴操作,常用于合并commit和将某一段commit粘贴到另一个分支上,语法为“git rebase 参数 [startpoint] [endpoint]”。

    本文操作环境:Windows10系统、Git2.30.0版、Dell G3电脑。

    git中rebase的用法是什么

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

    前提:不要通过rebase对任何已经提交到公共仓库中的commit进行修改(你自己一个人玩的分支除外)

    1.合并多个commit为一个完整commit

    当我们在本地仓库中提交了多次,在我们把本地提交push到公共仓库中之前,为了让提交记录更简洁明了,我们希望把如下分支B、C、D三个提交记录合并为一个完整的提交,然后再push到公共仓库。

    29.png

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

    30.png

    这里我们使用命令:

      git rebase -i  [startpoint]  [endpoint]

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

    在查看到了log日志后,我们运行以下命令:

    git rebase -i 36224db

    或:

    git rebase -i HEAD~3

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

    31.png

    上面未被注释的部分列出的是我们本次rebase操作包含的所有提交,下面注释部分是git为我们提供的命令说明。每一个commit id 前面的pick表示指令类型,git 为我们提供了以下几个命令:

    根据我们的需求,我们将commit内容编辑如下:

    32.png

    然后是注释修改界面:

    33.png

    编辑完保存即可完成commit的合并了:

    34.png

    推荐学习:《Git教程

    以上就是git中rebase的用法是什么的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:git
    上一篇:git中checkout的用法是什么 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • git中clone是什么意思• git rebase是什么意思• git中分支是什么意思• git中什么是merge• git是开源的吗
    1/1

    PHP中文网