Git LFS推送时出现locking API错误及服务器启用LFS失败求助
Git LFS推送时出现locking API错误及服务器启用LFS失败求助
嘿,我之前也碰到过类似的Git LFS推送问题,来帮你一步步排查解决:
首先解决<unknown>的锁定API错误
你看到的<unknown>是因为Git LFS没能正确识别你的远程仓库URL,导致生成配置项时出现占位符。正确禁用锁定校验的命令应该用远程仓库的别名(比如origin)或者完整的SSH URL,而不是<unknown>:
用远程别名的命令:
git config lfs.origin.locksverify false
或者用完整SSH URL的命令(把<你的服务器地址>和<仓库路径>替换成实际内容):
git config lfs.ssh://<你的服务器地址>/<仓库路径>/test_repo.locksverify false
执行完这个,那个“missing protocol”的错误应该就会消失了。
服务器端的Git LFS配置补全
你在服务器上只执行了全局的git lfs install,但对于裸仓库,还需要单独初始化LFS的本地钩子配置,不然服务器没法处理LFS对象。登录到你的Debian服务器,进入test_repo裸仓库目录,执行:
git lfs install --local
这个命令会给当前裸仓库添加Git LFS所需的钩子脚本,确保服务器能正确接收和存储LFS对象。
客户端的追踪规则校验
你用git lfs track *.*设置了追踪规则,记得确认.gitattributes文件已经被正确提交。可以用这个命令检查:
git cat-file -p master:.gitattributes
如果输出里有*.* filter=lfs diff=lfs merge=lfs -text这类内容,说明追踪规则已经生效了。
重新尝试推送
做完上面几步后,你可以重新执行推送命令:
git push origin master
如果还是有问题,可以先单独推送LFS对象,再推送代码:
git lfs push origin master git push origin master
这样应该就能解决你遇到的问题啦!
备注:内容来源于stack exchange,提问作者PinkTurtle
相关产品推荐
相关产品推荐

