[编辑:该问题的答案会丢弃历史记录,如果您不想要此记录,请忽略此问题]。
[EDIT:CodeWizard指出为重复项的答案不是重复项,因为此问题明确表明我想丢弃历史记录。另外,该问题的答案均不及该问题收到的答案]
我只是提交并推送了一些完全错误的代码。
我想完全撤消该提交并推送,直到从未发生过。
我不希望代码保留在提交历史记录中。
没有人进行任何其他提交和推送。
这个问题是不同的,因为我要人们不要发布替代方案,除非他们实现完全相同的事情(放弃所有历史)。原因是:我试图用谷歌搜索这个问题,但是却得到了一些问题的答案,这些答案提供了替代方案,但是不清楚这些替代方案是否会丢弃代码或将代码保留在git commit历史记录中。
此问题仅限于: 1)仅丢弃最后的提交/推送。 2)有关提交/推送已从存储库中删除的所有历史记录。
我在上面施加了这些约束,所以我们得到了最简单的答案。
我正在使用git命令行,并将gitlab乌龟化为gitlab。
答案 0 :(得分:3)
您承认重写历史记录的危险。太...这将使主服务器移回一次提交。
git push -f origin master~:master
其他方法是重置HEAD
git checkout master
git reset --hard HEAD~
git push origin -f master