将启用了 LFS 的本地 Git 存储库推送到空的 Azure Devops 失败

Pet*_*ter 4 git git-svn git-lfs

我们的任务是将我们的 SVN 存储库迁移到 Git 存储库,我已经快要实现了,但在最后一个障碍上失败了。

本地我有:

  • 通过 git svn init 创建了一个空的 git 存储库

  • 启用 LFS 并将其配置为跟踪一堆不同的文件。

  • 通过 git svn fetch 迁移了我的 SVN 存储库

  • 整理了一些多余的标签,最终得到一个“主”分支和一堆标签。

  • 我通过 git Remote add origin [azure git URL] 将远程源添加到新的空 Azure Devops 存储库

  • 我运行以下命令:

    git push origin -全部

我收到以下消息并最终出现错误,AzDevOps 中没有显示任何内容:

Locking support detected on remote "origin". Consider enabling it with:
  $ git config lfs.https://[redacted]/info/lfs.locksverify true
LFS: Client error: https://[redacted]/info/lfs/objects/bd2cc3927bf072a20412a03bfc58570b8d7c7eaad4737b6c70717baa0c0b697e from HTTP 413
Uploading LFS objects: 100% (684/685), 232 MB | 7.1 MB/s, done.
error: failed to push some refs to 'https://[redacted]'
Run Code Online (Sandbox Code Playgroud)

以防万一我运行建议的命令来添加锁定配置,然后重试。我遇到了同样的错误,但没有锁定建议。

有什么想法如何调试错误吗?我的短发技能已经抛弃了我,似乎找不到与我的场景相关的东西。

bk2*_*204 20

Azure DevOps 使用 IIS,它与 HTTP/2 存在一些令人不快的问题。Git LFS 问题跟踪器 中提到了一些血淋淋的细节,但本质上,您收到 413 请求太大这一事实意味着 Azure DevOps 无法通过 HTTP/2 正常处理大文件。这不是 Git LFS 的错误,而是 Azure DevOps 设置 LFS 服务器的方式存在配置问题。其他托管网站不存在此问题。

作为解决方法,您可以运行

git config http.version HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

这应该允许您正确推送数据。请注意,每个用户在推送超过 128 MB 的文件时都需要配置此选项,直到 Azure DevOps 修复此问题。