我“不小心”向GitHub推送了一个提交。

是否可以删除此提交?

我想恢复提交之前的GitHub存储库。


当前回答

删除最近的提交,保留已完成的工作:

git reset --soft HEAD~1

删除最近的提交,销毁您已完成的工作:

git reset --hard HEAD~1

其他回答

使用git-restore恢复推送。

git-restore-还原一些现有提交git-restore[-edit|--no edit][-n][-m父编号][-s]<commit>。。。git revert--继续git revert—退出git revert—中止

还原相关修补程序引入的更改,并记录记录这些更改的一些新提交。这需要你的工作树是干净的(没有来自HEAD提交的修改)。

注意:git-restore用于记录一些新的提交,以反转一些早期提交的效果(通常只有一个错误的提交)。如果要丢弃工作目录中所有未提交的更改,应该看到git reset,特别是--hard选项。

您需要清除缓存以将其完全清除。git的这个帮助页面将帮助您。(这对我有帮助)http://help.github.com/remove-sensitive-data/

删除最近的提交,保留已完成的工作:

git reset --soft HEAD~1

删除最近的提交,销毁您已完成的工作:

git reset --hard HEAD~1
git reset HEAD^ --hard
git push origin -f

这对我有用。

git push -f origin HEAD^:master

这应该会“撤销”推送。