Git 在 git-receive-pack 推送冻结

Git push freezing at git-receive-pack

所以我尝试使用 git 推送一个相当大的 repo,但它似乎总是卡在最后 POST git-receive-pack (71245363 bytes)。我试过 this solution 但似乎没有任何效果。提前致谢...

$ git push origin master --verbose
Pushing to https://github.com/obiwac/AQUA-2.X-x86
Username for 'https://github.com': Obiwac
Password for 'https://Obiwac@github.com': 
Counting objects: 28, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (23/23), done.
Writing objects: 100% (28/28), 67.94 MiB | 7.77 MiB/s, done.
Total 28 (delta 6), reused 1 (delta 0)
POST git-receive-pack (71245363 bytes)

很老的问题了,但我想结束这个问题,因为我早就解决了这个问题。

在我尝试推送我的存储库之前,我不小心提交了一个非常大的文件,为了解决这个问题,我提供了删除它并创建另一个提交的方法。

我不知道的是,即使你删除了它,git仍然保留了那个文件和那个提交的记录,它仍然需要推送它。

解决方案是 "undo" 最后一次提交,通过 运行 这样的事情:

$ git reset --hard HEAD~1

这将使我们的头后退一次提交。 --hard 参数只是意味着我们要丢弃我们引入的所有更改,而不是保留它们。

希望这对某个地方的人有所帮助,祝你有个愉快的夜晚!

在执行@Inobulles 回答之前先检查 folder/directory 很重要。如果你只是 git reset --hard HEAD~1,你可能会破坏你的 repo。这里的主要问题是您的目录很大,上传速度可能很慢。只需切换到更快的互联网或等待它结束。

否则,请检查您的目录并git status确保您没有在磁盘中上传一个巨大的文件夹。您可以再次 git init 在目录中确认一下。