2012-11-16 69 views
0

我想撤消兩次最近的提交。這些提交已經被推送到遠程倉庫,但是我想一旦我在本地撤銷了它們,我可以再次推出它們,並且它們將在遠程倉庫中被有效地撤銷。撤消兩次最近的提交

我有這些提交哈希,所以我需要運行什麼命令來撤消它們?

+0

我不清楚爲什麼答案沒有被接受;你能詳細說明缺少的是什麼嗎? –

+0

我假設你這樣做,但自11月以來你一直在網站上,當你的問題有活動時你會收到通知。我並不認爲需要諷刺,我只是認爲成爲一個好的SO公民很重要。因人而異。 –

回答

2

只要做到:

git revert HEAD~2 

使用git help revert會給你更多的細節。

如果您的工作目錄中有未決的更改,則保存之前和之後保存。

1

如果你只是想擺脫提交的:

git checkout <branch> 
git reset --hard <commit before the two commits> 
git push <remote> +<branch> 

+,使強制推送。

您可以使用HEAD^^來引用剛好在最後兩個之前的提交。

編輯:git revert是一種撤消提交而不從歷史記錄中刪除它們的方法。當這些變化被其他人拉住時,這是有用的。

+0

如果你在一個團隊中工作並且同事可能已經離開,那麼不要這樣做。你會被他們恨。一般不會改變已經推動的變更集。 – Benoit

+0

是的。那麼你應該使用恢復。看我的編輯。 – opqdonut

+0

現在,警告是明確的,我可以upvote。 – Benoit