Git 推送到新的远程错误

Git pushing to new remote error

我有一个本地 git 存储库,我的硬盘上有一个现有的遥控器。现在我想将存储库移动到 github 并按照文档执行以下操作:

git remote set-url origin https://github.com/xxx/xxx.git
git push -u origin master

但我遇到了错误。

[user@machine folder]$ git push -u origin master
Username: 
Password: 
Counting objects: 7398, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2575/2575), done.
error: RPC failed; result=22, HTTP code = 0iB | 367.95 MiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (7398/7398), 506.65 MiB | 367.95 MiB/s, done.
Total 7398 (delta 5083), reused 6965 (delta 4677)
fatal: The remote end hung up unexpectedly
fatal: expected ok/error, helper said '2004k¡oe>�Xx�FV.�Na�D�͂'

fatal: write error: Broken pipe

我在 Whosebug 上发现的大多数问题都被

解决了
git config http.postBuffer 524288000

但这对我没有帮助 我还尝试了 git repack,这只是让错误出现得更快(打印出来的乱码也少了一点)。

git repack 之前,错误如下所示:

[user@machine folder]$ git push -u origin master
Username: 
Password: 
Counting objects: 7398, done.
Delta compression using up to 12 threads.
Compressing objects: 100% (2771/2771), done.
error: RPC failed; result=22, HTTP code = 0iB | 11.89 MiB/s   
fatal: The remote end hung up unexpectedly
Writing objects: 100% (7398/7398), 506.60 MiB | 11.46 MiB/s, done.
Total 7398 (delta 5084), reused 6454 (delta 4481)
fatal: The remote end hung up unexpectedly
*�{�����@���߫��\l�|ʫ%r, helper said '2004�*U��m
                       ��EE$�%��M�l�\�yx�=�O�X.d (Y�gc�Ͷ�Ri�+�ONa���'���F�2X�P������~�,�rݐ��޾��_�,����n0��~8(��v��_�lꉋ�=C�����M�ݓYP���ЖO�e�t-����2X��s�Ϲ۱�<�o|�+�6x1�ob��v>�s��'

此时我非常绝望。有谁知道如何将本地 git 存储库推送到 github?

这可能是由几个问题造成的:

存储库大小限制

git config http.postBuffer 524288000

您设置的这个配置只是增加 git 向网络发送数据时将使用的缓冲区大小

http.postBuffer
Maximum size in bytes of the buffer used by smart HTTP transports when POSTing data to the remote system. For requests larger than this buffer size, HTTP/1.1 and Transfer-Encoding: chunked is used to avoid creating a massive pack file locally. Default is 1 MiB, which is sufficient for most requests.


错误的远程配置。

尝试使用此命令设置遥控器:git remote add origin https://github.com/xxx/xxx.git 除了您已经添加的 set-url


您的代理设置

在某些代理中,post 文件的大小有限制,因为您的存储库很大(>500MB),这里可能就是这种情况。


怎么办?

尝试通过逐一排除上述可能的问题

  1. 提交更少的文件并尝试提交它们。如果这有效,那么问题出在通过网络发送的包文件的大小上。
  2. 使用 gc --aggressive --prune=now
  3. 清理您的存储库