我“不小心”向GitHub推送了一个提交。
是否可以删除此提交?
我想恢复提交之前的GitHub存储库。
我“不小心”向GitHub推送了一个提交。
是否可以删除此提交?
我想恢复提交之前的GitHub存储库。
当前回答
git reset HEAD^ --hard
git push origin -f
这对我有用。
其他回答
注意:请在下面的评论中看到gitrebase-i的替代方案-git reset—软头^
首先,删除本地存储库中的提交。您可以使用gitrebase-i来执行此操作。例如,如果是最后一次提交,可以执行gitrebase-i HEAD~2并在弹出的编辑器窗口中删除第二行。
然后,使用gitpushorigin+branchName--force强制推送到GitHub
有关更多信息,请参见Git Magic第5章:历史教训-然后是一些(例如,如果您想删除旧的提交)。
哦,如果你的工作树很脏,你必须先做一个git存储,然后再应用git存储。
git push -f origin HEAD^:master
这应该会“撤销”推送。
要从远程存储库中删除提交,请执行以下操作:
git push -f origin last_known_good_commit:branch_name
要从本地存储库中删除提交,请执行以下操作:
git reset --hard HEAD~1
link
您需要清除缓存以将其完全清除。git的这个帮助页面将帮助您。(这对我有帮助)http://help.github.com/remove-sensitive-data/
对于GitHub
在本地存储库中重置提交(HARD)创建新分支推送新分支删除旧分支(如果要删除主分支,请将新分支作为默认分支)