2011-07-06 53 views
8

我想在發生大量錯誤後回滾到最後一次提交,但我設法回滾一點太公平。當我在bash中輸入「git log」時,我想重新提交的提交不會出現(我想因爲它不在歷史記錄中)。有什麼方法可以恢復到最後一次提交日期?如何撤消Git回滾

我也在同一個項目中使用eclipse在eclipse中,如果這樣做更容易。謝謝。

回答

21

如果您沒有問題的命令行,去你回購,做一個git reflog並獲得承諾要「回滾」來,做一個git reset --hard <commit>

你也能夠做到git reset --hard [email protected]{1}然後回到egit並回滾到所需的提交。

+2

相關:[git reflog,你的安全網](http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html) –

+0

太棒了!你爲我節省了很多工作,謝謝。 – Chironex

2

我發現通常情況下,最好讓您的更改按時向前而不是向後。

Git的方法是「恢復」提交。當你恢復一個提交時,你檢查到你的工作目錄反向的問題。然後你添加並提交,並且你做了一個新的提交,它提交了你正在恢復的提交的「撤銷」,並且它在歷史記錄中留下了一個這樣的事情發生的記錄,所以如果你想撤銷你的撤消,這很容易做到。

+0

當你意識到自己在歷史上不可磨滅的一部分(即與他人共享)之前做了錯誤的事情時,最好不要記錄它。記錄壞提交意味着像git bisect這樣的工具有更多的絆倒。 – Novelocrat

+0

我想那是真的。我發現明確的提交信息使我免於這方面的太多悲傷。如果我需要恢復我的恢復(有時我會恢復),那麼最好在那裏恢復。 –