适用场景:java
比方说,你的代码已经提交到git库,leader审核的时候发现有个Java文件代码有点问题,因而让你修改,一般有2种方法:git
方法1:leader 将你提交的全部代码 abandon掉,而后你回去 经过git reset …将代码回退到你代码提交以前的版本,而后你修改出问题的Java文件,而后 git add xx.java xxx.java -s -m “Porject : 1.修改bug…” 日志
最后经过 git push origin HEAD:refs/for/branchesit
方法2: 语法
leader不abandon代码,你回去以后,修改出问题的Java文件,修改好以后,git add 该出问题.java bug
而后 git commit –amend –no-edit, 方法
最后 git push origin HEAD:refs/for/branches。总结
当咱们想要对上一次的提交进行修改时,咱们可使用git commit –amend命令。git commit –amend既能够对上次提交的内容进行修改,也能够修改提交说明。di
举个例子:文件
Step1:咱们先在工做区中建立两个文件a.txt和b.txt。而且add到暂存区,而后执行提交操做:
Step2:此时咱们查看一下咱们的提交日志:
能够看到咱们的提交日志中显示最新提交有两个文件被改变。
Step3:此时咱们发觉咱们忘了建立文件c.txt,而咱们认为c.txt应该和a.txt,b.txt一同提交,并且a.txt文件中应该有内容‘a’。因而咱们在工做区中建立c.txt,并add到暂存区。而且修改a.txt(故意写错语法且没有将a.txt的修改add到暂存区):
Step4:咱们查看一下此时的提交日志,能够看到上次的提交0c35a不见了,而且新的提交11225好就是上次提交的修补提交,它就像是在上次提交被无视了,修改后从新进行提交了同样:
Step5:此时咱们发现a.txt文件修改没有成功,因而咱们还得进行一次对a.txt的修改,将a.txt add到stage,而后再执行一次与上一次相似的提交修补:
OK了,git commit –amend的用法大体就是这样。
总结:git commit --amend 至关于上次提交错误的信息被覆盖了,gitk图形化界面上看不到上次提交的信息,git log上也看不到以前的信息,而add 后再commit 至关于从新加了一个信息。至关于打了个补丁?