Git——rebase命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37049781/article/details/86304735

本来以为git掌握几个基础命令就行了,面试时突然被面试官闻到了git rebase命令,直接懵逼了。回来一查会了还真有用,直接记录下来吧。

  • 命令作用
    协同开发过程中,自己本地不可避免的产生很多commit信息。push的时候显得特别杂乱,以往心情好的时候就会给最近的几个commit信息reset一下,然后重新提交commit信息。现在看来真TMSB。。。
    git rebase的作用就是重新对某一段线性提交历史进行编辑、删除、复制、粘贴

功能1: 合并commit

命令格式
git rebase -i [startpoint] [endpoint] 合并的范围是前开后闭
eg:合并最近三条commit
git rebase -i HEAD~3 (合并了 head^2 head^ head)
进入编辑界面:
1.根据需求按指令编辑commit

  • pick:保留该commit(缩写:p)
  • reword:保留该commit,但我需要修改该commit的注释(缩写:r)
  • edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
  • squash:将该commit和前一个commit合并(缩写:s)
  • fixup:将该commit和前一个commit合并,但我不要保留该提交的注释信息(缩写:f)
  • exec:执行shell命令(缩写:x)
  • drop:我要丢弃该commit(缩写:d)
    2.编辑注释

功能2:复制某一段commit

git rebase [startpoint] [endpoint] --onto [branchName]
eg:git rebase HEAD~3 HEAD~1 --onto master 将当前分支的 head^2 head^ 复制到master分支上

猜你喜欢

转载自blog.csdn.net/qq_37049781/article/details/86304735