Git 如何撤銷最新一次Commit

在使用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的編輯保存操做。服務器

amend窗口

以上是在沒有代碼要撤銷,只有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

相關文章
相關標籤/搜索