git之rebase

rebase的两大用处:
前言: rebase 命令删除中间的无用 commit 记录,意味着至少保留首尾两个 commit
# 从 commit_id 开始到最后 commit 进行 rebase,进入编辑模式
$ git rebase -i [commit_id]

# 进入到编辑模式会看到可编辑的条目, 排列顺序由 commit 的提交先后 从上而下。
# 编辑模式中分两部分内容, 上半部分可编辑,是要执行的指令,下半部分是指令的注释。
# 指令部分由 指令名称、 commit hash 和 commit mesage 组成
# 指令名称目前只需要知道 pick 和 squash 这两个指令,具体解释见下边的指令注释
pick 2da3fdf   add commit message_2

pick 7efd141  add  this is last commit 

# Rebase 6506966..7efd141 onto 6506966 (1 command(s))
#
# Commands:
# p, pick = use commit
# r, reword = use commit, but edit the commit message
# e, edit = use commit, but stop for amending
# s, squash = use commit, but meld into previous commit
# f, fixup = like "squash", but discard this commit's log message
# x, exec = run command (the rest of the line) using shell
# d, drop = remove commit
#

# 调整好要合并或者修改的条目之后, 执行 :wq  命令,git会执行合并或改名操作,执行之后会再次进入 vi 编辑页面。
# 该编辑页面非注释部分就是几次的commit message , 我们要做的就是要将这些内容修改成新的 commit message
# 输入 wq 保存,几次 commit 就已经合并了。
# 查看 log 信息可进行验证

注意事项

在 rebase 的过程中有操作失误, 可以使用 git rebase --abort 来撤销修改,回到没有开始操作合并之前的状态。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章阅读 8,648评论 1 26
  • 本文作者陈云峰,转载请注明。 这篇文章记录个人常用的一些命令,和记不住的一些命令,转载了并不断更新。 Git官网 ...
    陳云峰阅读 2,847评论 0 24
  • 每去外婆家一次,就会感觉外婆变老了一些。 很小的时候便经常出入外婆家,和表姐一起吃着外婆亲手做的饭菜。虽然每次都是...
    月夜无聊阅读 275评论 0 0
  • 或许这就是天赋异禀,看了简书签约作者别山举水的文章,颇为感动。 别具一格,有匠人风范,全部来源于农村普通人的生活感...
    幽蓝月弯阅读 185评论 12 2
  • JangGwa,一名普通本科大学的大三学生。总会听到前辈说不是学不会,是缺乏跨出第一步的勇气。今天,向来语文不及格...
    ingot_金果阅读 555评论 4 8