You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用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操作,想请教下有没有人遇到过类似问题或者有解决思路?

问题现象和复现步骤

  1. 我找了一个带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会一直卡在连接步骤。

  2. 手动执行日志里的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认证失败的问题该怎么解决?

麻烦大家帮忙看看,非常感谢!

火山引擎 最新活动