切换含新LFS文件分支时Git LFS filter-process报错求助
Git LFS切换分支SSH超时报错解决办法
问题定位
切换包含LFS文件的分支时触发报错:
外部过滤器'git-lfs filter-process'失败
database/db.pkl的smudge filter lfs失败
日志指向SSH连接gitlab.ewi.tudelft.nl的22端口超时,当前环境:git-lfs/3.0.2,git version 2.35.1.windows.2。
解决步骤
排查SSH连通性
先手动测试SSH连接是否正常:ssh -T git@gitlab.ewi.tudelft.nl如果仍然超时:
- 检查本地防火墙、杀毒软件是否拦截了SSH出站请求,可临时关闭测试
- 若需通过代理访问,配置Git的SSH代理(替换
proxy-host和proxy-port为实际值):git config --global core.sshCommand "ssh -o ProxyCommand='connect -H proxy-host:proxy-port %h %p'"
强制LFS用HTTPS传输
如果22端口确实无法访问,直接切换LFS传输协议为HTTPS:# 全局配置(所有仓库生效) git config --global lfs.url https://gitlab.ewi.tudelft.nl/<你的仓库路径>.git/info/lfs # 仅当前仓库生效(去掉--global) git config lfs.url https://gitlab.ewi.tudelft.nl/<你的仓库路径>.git/info/lfs重置LFS过滤器配置
若过滤器配置异常,重置后重新初始化:git lfs uninstall git lfs install --force跳过smudge拉取后手动获取LFS文件
先绕过smudge拉取分支,再手动拉取LFS资源:GIT_LFS_SKIP_SMUDGE=1 git switch <目标分支名> git lfs pull
内容的提问来源于stack exchange,提问作者Alexandru Marin
相关产品推荐
相关产品推荐

