在 git 日常使用中,推送大文件或网络不稳定时经常会遇到"fatal: The remote end hung up unexpectedly"错误。这个问题通常表现为推送过程中连接突然中断,严重影响开发效率。下面分享三种经过验证的解决方案。
- 增大 git 的 postBuffer 缓存大小是最直接的解决方法。默认的缓存可能不足以处理大文件推送,可以通过命令行全局设置为 500MB 或更大。具体操作是执行 git config 命令修改 http.postBuffer 值:
git config --global http.postBuffer 524288000
也可以在项目.git 目录下的 config 文件中手动添加配置项。
- 调整 git 的最低传输速度限制也很有效。有些网络环境波动较大,git 默认会因低速中断连接。通过设置 lowSpeedLimit 为 0 和延长 lowSpeedTime,可以避免因短暂网速下降导致的推送失败。这个配置同样支持全局和应用范围设置:
git config --global http.lowSpeedLimit 0
git config --global http.lowSpeedTime 0
- 网络环境问题往往是根本原因。当错误信息中包含速度提示(如 2.00KiB/s)时,很可能是网络限制或带宽不足。这时更换网络环境(如有线换无线)、使用 VPN,或者选择网络负载较低的时段操作都能解决问题。
每种方法适用于不同场景:缓存问题用方法一,网络不稳定用方法二,明显网速受限用方法三。实际使用中可以组合尝试,比如先增大缓存再调整速度设置。实际操作中发现,这些方法能解决大部分类似错误,特别是对需要频繁推送大文件的团队项目很有帮助。

