推送Unity项目到GitHub时进程持续卡住无响应如何解决
解决方案
1. 校验LFS追踪有效性
- 执行
git lfs ls-files确认所有超过100MB的文件均被LFS正确追踪,无大文件进入普通git提交队列 - 若存在未追踪的大文件,执行以下命令重置后重新追踪:
git rm --cached <大文件完整路径> git lfs track <大文件完整路径> git add <大文件完整路径> - 若历史提交中存在未被LFS追踪的大文件残留,执行
git lfs migrate import --include="*.fbx,*.unitypackage,*.bin,*.psd"(可按需增减匹配的文件后缀)重写提交历史,将所有匹配文件迁入LFS
2. 调整Git及LFS配置参数
- 调整LFS传输相关参数,降低并发数、延长超时阈值:
git config --global lfs.concurrenttransfers 3 git config --global lfs.activitytimeout 120 git config --global lfs.downloadtimeout 120 - 禁用HTTP/2协议,解决部分网络环境下HTTP/2对大文件传输的兼容性问题:
git config --global http.version HTTP/1.1 - 按需调大postBuffer上限(可尝试比之前的500MB更高的数值):
git config --global http.postBuffer 1073741824
3. 拆分推送任务
不要一次性推送全量3GB内容,分批提交推送:
- 先推送代码、配置等小体积内容,执行
git push origin <分支名> --no-follow-tags - 再按资源目录拆分提交,每次仅推送单个资源文件夹的改动,避免单次传输体积过大触发平台限流
4. 网络问题排查
- 关闭系统代理后重试,代理的连接超时限制是大文件推送卡住的常见原因
- 切换网络环境(如从家庭WiFi切换到手机热点),排除运营商网络对GitHub传输的限制
- 若仍卡住,执行
GIT_CURL_VERBOSE=1 git push(Windows系统执行set GIT_CURL_VERBOSE=1 && git push)查看详细传输日志,定位具体卡住的节点或文件
内容的提问来源于stack exchange,提问作者scubnoob
相关产品推荐
相关产品推荐

