2010-07-14 72 views
11

我承诺并推动了一些不好的事情。我如何强制恢复我的本地回购到HEAD〜7,并重新提交,以便HEAD现在在该版本? Git文档混淆了我。Git的力量恢复到HEAD〜7

谢谢!

回答

22

最好的方法是推送另一个提交意外提交的提交。请参阅Jakub Narębski's answer关于如何做到这一点。

如果由于某种原因,这是值得推动的更新,是不是快进(在提交敏感位,例如)的潜在不友好,给这些命令:

git reset --hard HEAD~7 
git push --force origin master

第一重绕你当前的分支。这是一个尖锐的工具,所以要小心。

为了阻止你意外失去工作,git不会推动你的倒带分支。 --force选项禁用此安全功能。

6

git reset --hard HEAD~7将完全放弃您的更改。

git reset HEAD~7将放弃提交,但在工作副本中保留更改,以便您可以编辑并重新提交它们。