【学了就忘】Git操作 — 63.rebase应用:修改更早提交的message

通过下面两个git rebase的应用,我们也学习一下git rebase交互模式的使用。

(一)修改更早commit的message(重点)

这个命令非常有用,对提交历史进行变更,非用不可的命令。

1、先来看下历史日志

我的需求是修改第三次的commit的message。

2、查看第三次提交的详细信息

执行git log + commit_ID,会把该对应commit和他之前的commit的详细信息都显示出来。看第一个commit信息,就是我们需要的。

从图中可以看出,分支中第三次提交的message信息是:在temp分支提交temp-test.txt文件

3、修改第三次提交的message。(重点)

需要用到命令:git rebase,变基的操作可以进行交互式操作,需要用到参数-i

这里需要注意一下

  • 我们对temp分支的第三次提交的message进行变更,因为message是作为commit数据结构当中的一个属性,所以如果要对message进行变更,那么该commit的ID号是肯定要做改变的。
  • 其次要变更第三个提交的message信息,这个rebase(变基)中这个基,要选择被变更提交的父亲提交为基准点。(这个很重要)

(1)执行变基操作

执行命令:git rebase -i + 父commit_ID

执行上述命令后,会跳转到一个交互页面上。

接下来详细介绍一下交互页面中的内容:

这个页面的意思是说,你在做变基(rebase)的时候,针对某一个commit进行处理策略。

  • 第一行 pick 4f890b5 在temp分支提交temp-test.txt文件说明:
    pick:意思是挑选,我们可以把pick的位置,换成对应的策略,来重新编辑该提交。
    也就是pick的位置表示对该commit进行怎样的处理,后边表示要处理的是哪个commit。
  • 注释中commands下边就是各种策略(命令)的介绍。
  • 我们这里介绍用到这次用到的命令。(其他的以后在扩展)
    我们现在要用的策略就是reword
    r,reword <commit>=use commit,but edit the commit message
    意思是该提交的历史变更信息是要保留的,但是我需要修改这个提交中的message信息。
    提示:用rreword都可以,r表示简写。

(2)编辑修改提交的策略

因为我们要改变4f890b5提交的message,所以就需要reword命令。

修改4f890b5的策略

我们只修改第三次提交,其他的提交不改变。

然后退出保存(:wq!)即可。

(3)编辑提交内容

上一步操作退出后,还会跳转到一个新的交互页面,如下图:

编辑第一行的mesage的信息。保存退出。

提示:带#号表示备注,在提交的message中是不会出现的。

出现下图,表示修改成功了。

对提示信息说明:

  • Successfully rebased and updated refs/heads/temp.:显示执行成功,其实他完成了两个步骤,前边的rebase帮我们把message处理完毕,后边还把该提交的HEAD指针(commit-id)进行了更新。
  • 其实我们在仔细看一下,第二行的开头detached HEAD ed6984e,说明是分离头指针状态,且ed6984e提交是我们之前没有的提交。
  • 分离头指针状态其实他有些时候是很有用的,就像现在这个变基rebase操作,是离不开分离头指针的,只不过这是一个完整的变基行为,我们无法查看到具体的细节。Git先变成分离头指针状态,把HEAD指针指向了基准点,然后在上边做调整,调整完毕之后提交,把HEAD指针执行最新的提交,如此循环把后边的提交也补充上,就这完成以提交为基准点的变基。

(4)查看版本库中的历史提交日志

通过以上步骤,我们把第三次提交的massage信息修改完成了。

而第三次提交的commit-id也发生了改变,之前是4f890b5,而现在是ed6984e

这里重点说明

使用git rebase 命令进行修改指定提交的操作,实际上是以该指定提交的父提交为基准点,进行的变基操作。

不单单第三次提交的commit-id发生了改变,且之后所有的提交的commit-id都发生了改变。

(5)最后,特别要注意

上边所讲的变基(rebase)的行为,是正在自己的分支上做变更,还没有贡献到团队的共享分支上。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,941评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,397评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,345评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,851评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,868评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,688评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,414评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,319评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,775评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,945评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,096评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,789评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,437评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,993评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,107评论 1 271
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,308评论 3 372
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,037评论 2 355

推荐阅读更多精彩内容