Git LFS推送至本地局域网裸仓库报EOF错误如何解决
问题根因
你使用的是Windows本地文件共享的file协议裸仓库,默认Git LFS未开启对应standalone传输适配,加上共享文件夹权限不足,导致LFS对象上传完成后,后续的Git引用更新请求被中断返回EOF错误。
解决步骤
1. 裸仓库端配置LFS传输支持
在电脑A的裸仓库目录下打开Git Bash,执行以下命令:
git config lfs.standalonetransferagent true git config receive.advertisepushoptions true
该配置让本地文件协议的裸仓库支持接收LFS推送后的引用更新操作。
2. 配置共享文件夹读写权限
确保电脑B访问电脑A的共享裸仓库时拥有完全控制权限:
- 右键点击电脑A上的裸仓库文件夹,选择「属性」-「共享」-「高级共享」-「权限」
- 给对应访问账号(或Everyone)勾选「完全控制」「更改」「读取」权限
- 切换到「安全」选项卡,同样给对应账号开放完全控制权限
3. 工作仓库端调整LFS传输优先级
在电脑B的工作仓库目录下打开Git Bash,执行以下命令:
git config lfs.transfer.enablehrefrewrite true git config lfs.uploadtransfers "lfs-standalone-file,basic"
优先使用适配本地文件协议的LFS传输规则。
4. 重新执行推送
配置完成后执行推送命令即可:
git push origin master
如果仍有报错,可先执行git fsck检查本地仓库完整性,确认无损坏对象后再次尝试。
内容的提问来源于stack exchange,提问作者XY W
相关产品推荐
相关产品推荐

