将大量提交推送到Azure DevOps Git失败,直到503 curl 22

时间:2019-09-18 13:06:43

标签: git azure

我有一个源代码副本,该源代码已添加到我的Azure DevOps Git Repo提交中,并试图将其推送到云中。它不断失败,并显示以下错误

  

RPC失败; HTTP 503 curl 22请求的URL返回错误:503

我尝试设置git config --global http.postBuffer 157286400并没有帮助

$ git push --set-upstream origin dummy
Enumerating objects: 1653, done.
Counting objects: 100% (1653/1653), done.
Delta compression using up to 8 threads
Compressing objects: 100% (847/847), done.
Writing objects: 100% (1651/1651), 143.86 MiB | 292.86 MiB/s, done.
Total 1651 (delta 765), reused 1648 (delta 764)
error: RPC failed; HTTP 503 curl 22 The requested URL returned error: 503
fatal: the remote end hung up unexpectedly
fatal: the remote end hung up unexpectedly
Everything up-to-date

尝试了以下方法中的所有选项:https://stackoverflow.com/a/50470075/942855 但没用

如何克服这一挑战并将代码推送到Azure Git?

2 个答案:

答案 0 :(得分:2)

HTTP错误503表示该服务不可用。从RFC 7231:

503(服务不可用)状态代码表示服务器由于暂时的过载或计划的维护而当前无法处理该请求,这可能会在一段时间的延迟后得到缓解。

就像所有5xx错误一样,这是服务器端的问题,您所做的一切都无法修复。如果问题出在您正在做的事情,那么您将得到一个400系列错误,这是客户端错误。

如果您正在使用代理,第三方防火墙或防病毒工具或某种其他MITM设备,则可能是问题的原因。如果是这样,您应该尝试不使用该软件(通过完全卸载并重新启动),从不具有该代理或MITM设备的网络中尝试,或者与系统负责人联系。

如果不使用任何此类软件或系统,则应联系Azure DevOps支持人员,并向他们询问问题。他们将是唯一能够修复它的人。

除非HTTP服务器存在严重缺陷,否则设置http.postBuffer应该不会生效。 Git FAQ entry解释了它的作用以及为什么除非您确实需要它,否则不应该对其进行设置。

答案 1 :(得分:0)

如果它不能满足http.postBuffer的最大值,建议将其保留更长的时间。现在让我们将源代码分成单独的git push。您可以在不同的提交中添加源代码的不同组件。

git add <comp-1> && git commit -m "Added part 1" && git push"
git add <comp-2> && git commit -m "Added part 2" && git push"

一旦可行,最好将postBuffer重置为默认值

git config --global --unset http.postBuffer

以避免效率低下的性能损失。