在使用git时,常常会遇到在未push以前,发现提交的代码或者comment有问题。若是在Agile 敏捷开发的公司,每每你的git与Jira是相关联的,这时通常要求你的comment 里的Story Id要与Jira 一致,若是写错了,致使你的commit会push不到远程服务器上。这只是我提到的一种状况,国内的公司每每这种模式还不多。咱们就是在任何commit有问题想回撤一下这个commit。git
如今我作准备提交一个文件到github上,文件名叫ReadMe.mdgithub
git add ReadMe.md git commit -m "this is a wrong commit"
这个commit 的comment是错误的,将它修改成“this is a right commit”bash
git commit --amend
这时会在git bash的命令行里,出现vi 编辑窗口,而后进行修改保存就能够了,由于使用的是vi,请掌握vi的编辑保存操做。服务器
以上是在没有代码要撤销,只有comment里的信息要修改时,所使用的命令编辑器
若是你的上一次提交,还有代码改错了,要撤回从新修改,那可使用下面的命令this
git reset HEAD~ << edit files as necessary >> git add ... git commit -c ORIG_HEAD
这个命令会回滚你的所有commit,你只需从新编辑你的文件,而后从新git add, commit命令行
ORIG_HEAD的意思是和“--amend”是一个意思,会打开一个编辑器,去编辑你的comment,修改完保存便可 若是你的comment不须要修改,只是文件的更改,那只用 -c参数便可。code