2012-03-16 133 views
5

嗨,我想撤消我最後一次提交。我所做的是我對文件做了一些修改,然後我提交了它們,但我還沒有將它們推送到主要的回購站點。混帳後提交-m「註釋」命令我跑git的狀態,我現在我要撤銷我上次提交這樣我怎麼能做到這一點得到這個消息如何撤消提交

Your branch is ahead of 'origin/demo' by 1 commit 

+1

[這裏已解決] [1] [1]: http://stackoverflow.com/questions/495345/git-removing-selected-commits-from-repository – 2012-03-16 13:11:44

回答

16

如果您想徹底取消它:

git reset --hard HEAD^ 

如果要撤消,並保持您的更改上演(前提交):

git reset --soft HEAD^ 

如果要撤消,並保持您的文件被修改(在階段之前):

git reset --mixed HEAD^ 
+0

你能告訴我什麼是頭在這裏?我應該使用你在這裏輸入的命令嗎? – 2619 2012-03-16 13:17:55

+0

HEAD是一個文件,它總是引用當前分支上的最後一個提交,或者如果你簽出了一個提交(在分離的HEAD狀態下),它的值就是提交。是的,你應該使用命令,假設你沒有切換分支等。 – ralphtheninja 2012-03-16 13:41:30

1

通過創建另一個提交來恢復您的提交(假設master是你的工作分支):

git revert master 

要取消它,也就是說,假裝什麼都沒發生:

git reset --hard master~