git 在现在的开发中使用频繁,解决了很多多人协作问题。今天我们来说说git --amend到底是干啥的。 git --amend简单地来说,可以理解成对最后一次提交做修正。<前提是当前最后一次提交没有merge> 我们假设一个场景,比如说, 小明第一次 git add . git commit -m "first push" git push 然后,在merge之前小明突然发现,我需要更新某一个文件,再次提交会生成新的commit-id。小明想在原有的提交之上再重新提交一次,这次就用到git commit --amend,会将此次提交作为最后一次提交更新。
当我们git amend之后我们想撤销又该如何操作呢?三行命令解决的事情~ git reflog查看操作记录,找到amend下一个head节点。这里用Ref[2]来看一下: git reflog后我们看到commit (amend)所在的head为红色对应的HEAD@{0},我们可以看到下一个head为HEAD@{1}。那么接下来,用 git reset 将当前分支的 HEAD 指向 HEAD@{1}, 即可达到撤销 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