git --amend 使用和撤销

https://blog.csdn.net/woai8339/article/details/90447901

git amend 作用


       git 在现在的开发中使用频繁,解决了很多多人协作问题。今天我们来说说git --amend到底是干啥的。
git --amend简单地来说,可以理解成对最后一次提交做修正。<前提是当前最后一次提交没有merge>
我们假设一个场景,比如说,
小明第一次
git add .
git commit -m "first push"
git push
然后,在merge之前小明突然发现,我需要更新某一个文件,再次提交会生成新的commit-id。小明想在原有的提交之上再重新提交一次,这次就用到git commit --amend,会将此次提交作为最后一次提交更新。

git commit --amend -m "first commit"

git amend如何撤销


       当我们git amend之后我们想撤销又该如何操作呢?三行命令解决的事情~
git reflog查看操作记录,找到amend下一个head节点。这里用Ref[2]来看一下:

git --amend 使用和撤销

git reflog后我们看到commit (amend)所在的head为红色对应的HEAD@{0},我们可以看到下一个headHEAD@{1}。那么接下来,用 git reset 将当前分支的 HEAD 指向 HEAD@{1}, 即可达到撤销 amend 的目的:

git --amend 使用和撤销

现在就把更新弄到工作区了,接下来再进行三部曲就好了。
三部曲:
git add .
git commit -m "notes"
git push

Ref:
1、http://www.softwhy.com/article-8492-1.html
2、https://www.jianshu.com/p/97341ed9d89e
 

上一篇:git amend(转)


下一篇:撤销git commit --amend的操作