如何回溯历史,删除Git中意外提交和推送的大型二进制文件



我做了一个git pull --rebase,但没有意识到它最终下载了一个不应该被拉的巨大二进制文件。我做了一个承诺,并将我的工作与这个巨大的二进制文件一起推进。

我需要回到过去,删除它,并在其他开发人员的所有推送上重播我的所有工作,还有其他对回购的推送。我在另一家分店工作。

这是一个严重的问题,我一直搞砸Git!想要一些好的Git入门指南。

看看git filter-branch。这将从您的本地回购中删除这个巨大的对象。

另一种方法是,如果有问题的提交是在5次提交之前,则使用git rebase -i HEAD~5删除添加的巨型文件。用e将提交标记为"编辑"。当您到达那里时,取消暂存并删除这个巨大的文件,提交并git rebase --continue。然后,如果您的分支被正确跟踪,则执行强制推送git push -f origin yourbranch或简单的git push -f

您是否尝试恢复上次提交并再次推送

git revert HEAD

最新更新