有没有办法让git超过http超时?

Dan*_*set 14 git timeout http jenkins

我有一个脚本自动运行git clone/pull(这实际上发生在jenkins CI中,但我的问题更为笼统).远程git服务器基于HTTPS.具有git客户端的机器具有片状DSL互联网连接,因此它有时会重新连接并更改IP地址,从而丢失其所有现有连接.当git客户端运行时连接失败时,客户端永远不会成功,但它也不会因超时而失败,所以我的脚本会挂起.

我想设置客户端,以便在一段时间后超时(因此脚本可以重试,或记录失败,或采取任何其他操作).但我没有在git-config联机帮助页中找到任何超时选项.我发现了一个相关的问题,但它只适用于SSH连接.你知道是否有替代http服务器?

Alf*_*ang 16

除了CAD bloke的回答:

git config --global http.lowSpeedLimit 1000
git config --global http.lowSpeedTime 600
Run Code Online (Sandbox Code Playgroud)

工作良好.

上面的例子意味着当速度保持在1KB/s以下600秒(10分钟)时,远程动作将阻塞,动作将被阻止.


man*_*lds 11

你可以尝试使用

http.lowSpeedLimit,http.lowSpeedTime

如果HTTP传输速度小于http.lowSpeedLimit的时间超过http.lowSpeedTime秒,则传输将中止.可以通过GIT_HTTP_LOW_SPEED_LIMIT和GIT_HTTP_LOW_SPEED_TIME环境变量覆盖.


CAD*_*oke 6

将此添加到.gitconfig ...

[http]
lowSpeedLimit = 1000
lowSpeedTime = 20
Run Code Online (Sandbox Code Playgroud)

lowSpeedLimit是每秒字节数

我称它为Codeplex子句。

  • 当时 Codeplex 的运行速度确实很慢。 (2认同)