我承诺并推了一些坏事。如何强制将我的本地仓库还原为HEAD~7,并重新提交,以便HEAD现在处于该版本? Git docs让我很困惑。
谢谢!
答案 0 :(得分:26)
最好的方法是推送另一个恢复非预期提交的提交。有关如何执行此操作,请参阅Jakub Narębski's answer。
如果出于某种原因值得推送不是快进的更新(例如提交中的敏感位)的潜在不友好性,请提供以下命令:
git reset --hard HEAD~7 git push --force origin master
第一个回卷你当前的分支。这是一个很好的工具,所以要小心。
为了阻止你不小心失去工作,git不会推动你的重绕分支。 --force
选项会禁用此安全功能。
答案 1 :(得分:6)
git reset --hard HEAD~7
将完全放弃您的更改。
git reset HEAD~7
将删除提交但在工作副本中保留更改,以便您可以编辑和重新提交它们。