我有一个脚本自动运行git-clone/pull(这实际上发生在jenkins CI中,但我的问题更一般)。远程git服务器是基于HTTPS的。带有git客户端的机器有一个不稳定的DSL互联网连接,因此它有时会重新连接并更改IP地址,从而失去所有现有连接。当git客户端运行时连接失败时,客户端永远不会成功,但也不会因为超时而失败,所以我的脚本挂起了。
我想设置客户端,使其在一段时间后超时(这样脚本就可以重试、记录故障或采取任何其他操作)。但是我在git-config手册页中没有找到任何超时选项。我发现了一个相关的问题,但它只适用于SSH连接。你知道是否有http服务器的替代方案吗?
除了CAD家伙的答案:
还有
git config --global http.lowSpeedLimit 1000
git config --global http.lowSpeedTime 600
工作良好。
上面的例子意味着当速度保持在1KB/s以下600秒(10分钟)时,远程动作将被阻止。
您可以尝试使用
http.lowSpeedLimit
、http.lowSpeedTime
:如果HTTP传输速度(以字节/秒为单位)低于"HTTP.lowSpeedLimit"的时间超过"HTTP.lodSpeedTime"秒,则传输中止
可由GIT_HTTP_LOW_SPEED_LIMIT
和GIT_HTTP_LOW_SPEED_TIME
环境变量。
Git 2.41(2023年第二季度)添加了http.lowSpeedLimit
的单元。
参见Corentin Garcia(corenting
)的提交0efe4c(2023年5月13日)
(由Junio C Hamano合并——gitster
——提交1f141d62023年5月20日)
doc/git-config
:为http.lowSpeedLimit添加单位签字人:Corentin Garcia
在文档中添加
http.lowSpeedLimit
的单位(字节/秒)。
git config
现在在其手册页中包括:
如果HTTP传输速度(以字节每秒为单位)。。。
将其添加到.gitconfig…
[http]
lowSpeedLimit = 1000
lowSpeedTime = 20
lowSpeedLimit是每秒的字节数
我称之为Codeplex子句。