12修改最新commit的message
前言
在我们创建了commit后,发现commit的message描述不准确,需要将最近创建的commit的message进行修改。
1 | G:\mygitea\GitLearn\learn03 master |
可以看到,最新一次commit信息和前面的commit信息重合了,需要调整。
1 | G:\mygitea\GitLearn\learn03 master |
此时会弹出如下界面,我们可以对message进行修改。
修改后:
1 | G:\mygitea\GitLearn\learn03 |
总结
git commit —amend 命令应该是代替(或这说修改)上一次提交,不只是修改message。 比如上一次提交时有几个文件没有add以及commit,可以重新进行add之后再commit —amend提交。 但这次提交之后不会增加一次新的commit,而是相当于在上一次commit的基础上进行修改。
关于 git commit —amend 的编辑 Linux下 git默认的文本编辑器是nano,很多快捷键不熟悉,执行下面的命令可以将git的文本编辑器改为我们熟悉的vim git config —global core.editor vim
Q1:—amend 不只是修改最新commit的message 而是会创建一个将暂存区的内容生成一个commit,再将当前最新的commit替换成新生成的那一个
改了commmit的message,本来的commit属性发生变化了,commit肯定也会变。
Q2:能否指定某次commit去修改commit的message呢?
可以的。用 rebase -i 交互式rebase,对某个commit采用edit的方式
Q3:如果已经把提交的内容push 到远端仓库了,但是要修改提交的message 。git commit —amend 然后在git push 吗?
如果是个人的分支,已经push到远端的话,得用push -f 了
有时候无法输入wq,可以试试按一下ESC键,再输入2个大写的Z,就能保存并退出了。