使用SSH通过Git LFS操作GitHub时卡在git-lfs-transfer步骤的问题求助
使用SSH通过Git LFS操作GitHub时卡在git-lfs-transfer步骤的问题求助
大家好,我最近在通过SSH使用Git LFS和GitHub交互时遇到了特别头疼的问题,主要是git lfs push/pull操作(尤其是push)经常卡在git-lfs-transfer步骤,直接拖慢了所有会触发Git LFS钩子的Git操作,想请教下有没有人遇到过类似问题或者有解决思路?
问题现象和复现步骤
我找了一个带LFS文件的公开仓库测试,执行以下命令:
git clone git@github.com:cbeams/lfs-test.git cd lfs-test GIT_TRACE=1 GIT_TRACE_CURL=1 git lfs pull这个操作经常会卡在如下日志步骤:
15:20:53.004384 trace git-lfs: exec: ssh '-oControlMaster=yes' '-oControlPath=/run/user/1000/sock-881286357/lfs.sock' 'git@github.com' 'git-lfs-transfer cbeams/lfs-test.git download'有时候能很快成功,有时候要等很久才能继续。如果我因为没耐心按
Ctrl+C取消命令,接下来的一段时间里,所有到GitHub的SSH认证都会失败——比如执行ssh -v git@github.com会一直卡在连接步骤。手动执行日志里的
git-lfs-transfer命令时,会直接报错:$ ssh git@github.com 'git-lfs-transfer Apress/repo-with-large-file-storage.git download' Invalid command: git-lfs-transfer Apress/repo-with-large-file-storage.git download You appear to be using ssh to clone a git:// URL. Make sure your core.gitProxy config option and the GIT_PROXY_COMMAND environment variable are NOT set.但特别困惑的是,即使出现这个错误,有时候
git lfs pull还是能成功拉取到LFS文件,完全搞不懂这是为什么。
我的本地版本信息
- Git LFS版本:
$ git-lfs --version git-lfs/3.7.1 (GitHub; linux amd64; go 1.24.4) - Git版本:
$ git --version git version 2.34.1
想请教大家两个问题:
- 为什么手动执行
git-lfs-transfer会报错,但git lfs pull有时候又能成功拉取文件? - 卡在
git-lfs-transfer步骤和取消操作后SSH认证失败的问题该怎么解决?
麻烦大家帮忙看看,非常感谢!




