尝试推送到 Azure Devops 时出现错误 "unable to parse remote unpack status"

Getting error "unable to parse remote unpack status" when attempting to push to Azure Devops

我试图使用 git 将一堆新文件推送到我的私有 Azure Devops 源代码控制存储库,但出现以下错误:

error: unable to parse remote unpack status: ng refs/heads/dirtypiece/gdpr An error occurred while communicating with the remote host. The error code is 0x800703E5.

我在尝试推送 12 MB 的视频文件时也出现此错误,但在尝试推送一小部分更改(如单个文件)时不会遇到此错误。

这是我看到的完整命令和输出以供参考:

"C:\Program Files (x86)\Git\bin\git.exe" push -u --recurse-submodules=check --progress "origin" refs/heads/dirtypiece/gdpr:refs/heads/dirtypiece/gdpr Counting objects: 3622, done. Delta compression using up to 8 threads. Compressing objects: 100% (1602/1602), done. Writing objects: 100% (3622/3622), 11.53 MiB | 1.91 MiB/s, done. Total 3622 (delta 1926), reused 3545 (delta 1888) remote: We noticed you're using an older version of Git. For the best experience, upgrade to a newer version. error: unable to parse remote unpack status: ng refs/heads/dirtypiece/gdpr An error occurred while communicating with the remote host. The error code is 0x800703E5. Everything up-to-date Done

我不记得在过去尝试推送大量文件时遇到过这样的事情(似乎总是推送得很好)。我在想这可能是 Azure Devops 服务器上的临时节流或资源限制问题,但这个问题已经发生了 2 天了。

我还检查了我的存储库的大小,看看我是否正在点击 10 GB limit 或类似的东西,但它似乎在容差范围内:

$ git count-objects -vH count: 2248 size: 5.85 MiB in-pack: 123703 packs: 19 size-pack: 759.69 MiB prune-packable: 14 garbage: 0 size-garbage: 0 bytes

有没有人以前遇到过这个问题或者知道如何解决这个问题?我过去肯定推送了更多文件和更大的文件,所以我很困惑为什么会这样。

感谢任何建议!

我昨天在 macOS 上尝试将一些二进制文件推送到存储库(图像、音频)时遇到了这个完全相同的错误。脚本和其他小文本文件都很好。

经过几个小时的摸索,我尝试将远程 URL 从 HTTPS 切换到 SSH,错误消失了。

然而,在这样做之前,我也尝试从另一台机器推送 运行 Windows 10 并且没有错误。

How to switch remote URLs from HTTPS to SSH

更新到最新版本的 Git 2.19.0 解决了这个问题,这是基于错误消息指示和正在使用旧版本的 Git。

我们目前正在 Azure DevOps 端跟踪此问题。它影响了一小部分推送,更频繁地影响了旧版本 Git 的大型推送。切换到 SSH 将绕过该问题。升级 Git 可能会降低遇到此问题的几率。

我们目前正在修复。

更新:在 9 月 27 日大约 20:00 UTC,我们缓解了这个问题。