git commit amend案例解释

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(意思是保存所做的修改)即可

原文地址:https://www.cnblogs.com/xxxccczzz/p/15679391.html