当进行一次commit提交的时候,可以附带简短的信息说明,代码如下:[Shell] 纯文本查看 复制代码$ commit -m "蚂蚁部落提交"
在-m命令后面跟着的"蚂蚁部落提交"就是commit提交信息。
提交信息可以修改,代码实例如下:[Shell] 纯文本查看 复制代码$ git commit --amend -m "c3"
但是上述命令只能修改最后一次commit提交的信息。
如果想要修改其他commit提交信息可以使用如下命令:[Shell] 纯文本查看 复制代码$ git rebase -i
首先看一下提交历史,代码如下:[Shell] 纯文本查看 复制代码$ git log --oneline
代码运行效果截图如下:
下面开始使用git rebase -i命令,代码如下:[Shell] 纯文本查看 复制代码$ git rebase -i b0aa963
特别说明:
(1).b0aa963用来确定commit范围,表示从此提交开始到当前的提交。
(2).并不包括b0aa963提交。
运行此命令后,弹出VIM编辑器,关于编辑器的基本操作参阅git Vim编辑器输入内容、保存和退出操作一章节。
截图如下:
截图说明:
(1).顶部的commit提交排列顺序与git log排列相反,最先提交的在最上面。
(2).前面的pick表示保留此次commit提交不做修改。
(3).底部红框给出所有可用的命令。
假如要修改4f66476提交的commit信息,代码如下:
将pick改为reword(负责修改commit信息),然后保存并退出,之后再一次弹出VIM编辑器:
在对应的地方修改,然后退出保存即可,然后给出如下反馈信息:
现在看一下提交历史,代码如下:[Shell] 纯文本查看 复制代码$ git log --oneline
代码运行效果截图如下:
一.修改提交信息的影响:
(1).当前提交的sha-1值改变:
虽然仅仅修改了commit的提交信息,但是由于sha-1的计算方式决定,它的sha-1也将会被修改。
(2).其后的提交的sha-1值改变:
它后面的commit的sha-1值也会改变,因为后面的commit对象有一个指针是指向前面commit,既然前面commit的sha-1值改变了,那么这个指针也会发生变化,根据sha-1的计算原则,后面的commit的sha-1值都会改变。
二.取消修改:
如果你还记得在修改之前,最后一次commit提交的sha-1值,应用如下代码即可:[Shell] 纯文本查看 复制代码$ git reset 04a540f --hard
如果忘记sha-1值,那么可以采用如下代码:[Shell] 纯文本查看 复制代码$ git reset ORIG_HEAD --hard
关于ORIG_HEAD可以参阅Git ORIG_HEAD用法介绍一章节。