当前位置:   article > 正文

Git---变基(git_rebase)操作之合并多次提交,美化log记录_git rebase 合并提交

git rebase 合并提交

该总结主要用于多个提交,最后做汇总

目的是优化简化log日志

修改历史commit信息记录

 git rebase 常用操作命令

  1. git rebase --continue表示继续下一个冲突或者下一个变基操作
  2. git rebase --skip表示跳过当前冲突或当前变基操作
  3. git rebase --abort表示退出rebase模式

一、改变最近一次提交说明

  1. // 可以直接用 --amend 的属性实现修改最近的一次提交信息
  2. // 1. git add 操作后的文件
  3. // 上次提交时描述错别字想修改:提叫信息 ==> 提交信息
  4. // 2. git commit --amend -m '修正的信息'
  5. // 或者这样写:
  6. // 2. git commit --amend 会弹出紧邻的上次提交信息,直接修改后(:wq),即可

二、改变多次提交说明

改变一个或者多个历史提交信息

  1. // 这是一条衍生命令,涉及的所有提交都会被重写(即便没有改动对应的记录说明)
  2. git rebase -i HEAD~3
  1. # 这里说明下下面的命令可以依次改动多个命令执行,顺序是依次执行,自上而下!!!
  2. # 不过这里不推荐,尽量一个功能改动执行一次变基操作!!!
  3. pick aac47c2 提交getters中token函数
  4. pick 327e0b3 添加fieldId获取方法
  5. pick 933cb5d getters添加userInfo获取方法
  6. # Rebase a2cc4e4..933cb5d onto a2cc4e4 (3 commands)

 变基界面里面的命令说明

  1. # Commands:
  2. # p, pick <commit> = use commit
  3. # p: 默认的选项,表示使用该提交,保留该commit,不做任何处理
  4. # r, reword <commit> = use commit, but edit the commit message
  5. # r: (会改变hash值)重写提交信息,比如第二个信息前面pick改为r,
  6. # 退出后会进入到另一个编辑界面(包含改为r的信息)
  7. # 这里改的话,改对应的commit信息,退出后直接结束变基操作了,多个r操作(会连续跳进信息修改的)。
  8. # e, edit <commit> = use commit, but stop for amending
  9. # e: (会改变hash值)将需要改动的信息pick改为edit(e),之后退出保存。会停留在对应的位置
  10. 之后执行: git commit --amend 进入编辑页面修改commit信息
  11. 之后执行: git rebase --continue 去继续操作修改完成rebase流程
  12. // 对于多个e的情况,后期尝试是否连续stop!!!(多个e操作,会连续stop的)
  13. # s, squash <commit> = use commit, but meld into previous commit
  14. # s: 使用提交,但是合并到先前的提交中。即融合到该列表中的其中未改为s的提交中(暂时理解)
  15. # 最重要的一点,在多个pick、记录里面,去最前面至少要有一个未改动的pick作为根合并的对象
  16. # d, drop <commit> = remove commit
  17. # d:移除掉对应的提交,同时对应的改动也会被撤掉!!!慎用!!!

通俗介绍如下图

  1. p,pick:保留该commit(缩写:p)
  2. r,reword:保留该commit,但我需要修改该commit的注释(缩写:r)
  3. e,edit:保留该commit, 但我要停下来修改该提交(不仅仅修改注释)(缩写:e)
  4. s,squash:将该commit和前⼀个commit合并(缩写:s)
  5. f,fixup:将该commit和前⼀个commit合并,但我不要保留该提交的注释信息(缩写:f)
  6. x,exec:执⾏shell命令(缩写:x)
  7. d,drop:我要丢弃该commit(缩写:d)
  8. 经常⽤到的是pick、edit、squash、fixup

 rebase的常用操作:

  1. git rebase --continue表示继续下一个冲突或者下一个变基操作
  2. git rebase --skip表示跳过当前冲突或当前变基操作
  3. git rebase --abort表示退出rebase模式

友情提示下:

这些变基操作,主要针对当前分支的操作,即主要修改当前分支的提交信息或者优化当前分支的提交信息


不建议将公共分支进行编辑操作,这样会影响到其他的开发者,可以自己分支间操作使用,个人一般用来修改提交历史记录。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/537612
推荐阅读
相关标签
  

闽ICP备14008679号