完全撤消提交并推送到远程

时间:2019-09-17 16:26:40

标签: git gitlab

[编辑:该问题的答案会丢弃历史记录,如果您不想要此记录,请忽略此问题]。

[EDIT:CodeWizard指出为重复项的答案不是重复项,因为此问题明确表明我想丢弃历史记录。另外,该问题的答案均​​不及该问题收到的答案]

我只是提交并推送了一些完全错误的代码。

我想完全撤消该提交并推送,直到从未发生过。

我不希望代码保留在提交历史记录中。

没有人进行任何其他提交和推送。

这个问题是不同的,因为我要人们不要发布替代方案,除非他们实现完全相同的事情(放弃所有历史)。原因是:我试图用谷歌搜索这个问题,但是却得到了一些问题的答案,这些答案提供了替代方案,但是不清楚这些替代方案是否会丢弃代码或将代码保留在git commit历史记录中。

此问题仅限于: 1)仅丢弃最后的提交/推送。 2)有关提交/推送已从存储库中删除的所有历史记录。

我在上面施加了这些约束,所以我们得到了最简单的答案。

我正在使用git命令行,并将gitlab乌龟化为gitlab。

1 个答案:

答案 0 :(得分:3)

您承认重写历史记录的危险。太...这将使主服务器移回一次提交。

git push -f origin master~:master 

其他方法是重置HEAD

git checkout master
git reset --hard HEAD~
git push origin -f master