如何解决git推送问题?它以1%的速度停滞不前

如何解决git推送问题?它以1%的速度停滞不前,git,github,Git,Github,无论何时尝试“git push”,它都会以1%的速度停止。e、 g $ git push -u origin master Username for 'https://github.com': XXXXX Enumerating objects: 20124, done. Counting objects: 100% (20124/20124), done. Delta compression using up to 4 threads Compressing objects: 100% (15

无论何时尝试“git push”,它都会以1%的速度停止。e、 g

$ git push -u origin master
Username for 'https://github.com': XXXXX
Enumerating objects: 20124, done.
Counting objects: 100% (20124/20124), done.
Delta compression using up to 4 threads
Compressing objects: 100% (15252/15252), done.
Writing objects:   1% (252/20097), 498.77 MiB | 14.70 MiB/s
我已经在互联网上尝试了以下解决方案

  • git config--global core.askpass“git gui--askpass”
  • rm-f.git/index.lock
  • git config http.postBuffer 524288000

  • 这仅仅是因为互联网速度,还是我在这里遗漏了什么?

    你的问题是你推送的文件太多,压缩效果不好

    Git使用Deflate算法存储对象,这与zip文件中使用的算法相同。这通常适用于文本文件,它有很多冗余,但对于随机或已压缩的文件(事实上,它扩展了此类文件)效果不佳

    此外,Git通常在上传对象之前对其进行deltifies,如果多个对象具有冗余数据,则只存储该数据的一个副本,所有其他副本都替换为对该数据的引用。您的数据已经被压缩,这一事实可能也会妨碍数据删除的有效性

    您的输出显示已上载252个对象,并已发送498.77 MiB,上载速度为14.70 MiB/s。百分比反映的是正在上载的对象的数量,而不是大小。这是一个值得尊敬的上传速度,但你的上传速度会慢一些,因为没有一个文件能很好地压缩或删除。因此,与具有同等未压缩大小的纯文本存储库相比,您发送的数据要多得多

    如果你想上传存档文件,最好上传未压缩的tar文件(或者使用仅存储模式的zip文件),Git可以更好地压缩这些文件,而且你还可以利用Git的deltification和压缩功能。但是,一般来说,Git不是存储归档或其他归档资产的合适工具,因此您可能希望研究Git LFS或其他解决方案(如Bintray或Artifactory),具体取决于您要完成的任务


    您还应该知道,GitHub拒绝大于2GB的推送以及任何可能大于100MB的对象。对于这些大型对象,您需要使用Git LFS,对于大型推送,您需要一次推送几个提交。

    这里推送的对象有多大?看起来您已经在252个对象中推送了498 MiB?其中一些是zip或rar文件。我能推吗?