撤消github上的git push

时间:2010-09-11 22:34:25

标签: git github

我犯了一个错误....我不知道如何解决它。

我解释了这个问题。

我正在处理我的项目,我做了第一次提交。 在这个提交中添加了2个无用的大文件...... 我不想要这些文件,所以我做了一个

git rm file

然后再次提交。 而且我很蠢,因为我推到了github hehehe :)。

我认为你已经发现了问题......

如何从本地和github存储库中删除这些文件(尤其是github ...)

我在互联网上找到了一些帮助,但我不想破坏我的所有存储库。

由于

2 个答案:

答案 0 :(得分:30)

如果没有其他人拉过,你应该让你的本地分支回到你想要的方式(可能通过重置到以前的位置,或者通过执行交互式rebase来删除不需要的提交),然后再次推送到带有-f(强制)选项的github:

git push -f <remote-name> <branch-name>

如果其他人已撤消,通常的建议适用:在您进行强制更新之前,请阅读git-rebase手册页的recovering from upstream rebase部分,了解您正在对其他人做些什么。

答案 1 :(得分:2)

如果你想删除(不是还原,删除)最后一次提交新文件,我认为你应该这样做:

git reset --soft "HEAD^"

无论如何,因为你已经将它推送到github,你无法在不重新创建git repo的情况下删除它。这是它的工作方式,您可以还原每个提交,例如提交删除这两个大文件的位置。由于它是新的回购并且你在谈论初始提交,重新创建回购代表我最好的想法。