1.场景一
用来修改上一次的commit,在本地仓库commit一次之后,还未push到远程仓库之前,直接可以修改上一次的提交
比如
git add a.txt
git commit -m '提交了a.txt' // 第一次提交
// 现在突然有一个b.txt文件没添加暂存区导致没提交,或commit的-m信息注释写的不好,亦或者在a.txt文件里有错误
git add b.txt // 针对b.txt文件添加到暂存区
git add a.txt // 在a.txt文件修改了之后 这与上一行一样,两行不管执行哪一个,只要执行了git add 添加自己想要修改的文件就好了
git commit --amend -m'新修改的提交信息' // 很重要看一下,-m加一下比较好,跟上一次提交的-m一样也行,不然会出现vim界面(也是让你写注释)所以没必要
git push // 推送到远程仓库之后,那么远程仓库只会有一条记录
2.场景2
进行了一次提交,但是已经push到远程仓库了,并且上次提交的a.txt文件里代码有错误,想要修改一下,但又不想产生一条记录在远程仓库里
git add a.txt // a.txt修改完毕之后
git commit --amend -m'写一下比较好'
git push --force-with-lease 即可
ps补充:
1.使用之前,自己先在自己的gitee仓库试一下
2.在你git commit --amend 不加-m之后会出出现vim界面,这个界面你动不了,只能使用i进入编辑状态,也是让你修改-m注释的信息 ,然后shift+;会出现:这个东西,然后输入wq(意思是保存所做的修改)即可