我发现的所有问题都希望避免git push / pull中的超时。在我的情况下,我想强迫他们。我的推送+拉动都是通过ssh到达某些时间点可能无法使用的远程机器。例如,我有一个脚本推送到两个远程公共存储库。我不希望这个脚本在推送到第一个repo并且该机器不可用时永远挂起。相反,在一些超时之后,我希望推送失败并继续第二个回购。
这里有任何选择吗?
答案 0 :(得分:10)
我认为您无法使用内置功能进行自动故障转移。但由于Git只是在下面使用SSH,因此可以在ConnectTimeout
中为相关机器添加.ssh/config
选项。参看man ssh_config
。然后shell中git push foo || git push bar
之类的东西应该做你想要的。
答案 1 :(得分:0)
来自https://github.com/git/git/blob/master/Documentation/config.txt(撰写本文时约为1770行)
http.lowSpeedLimit,http.lowSpeedTime :: 如果HTTP传输速度小于'http.lowSpeedLimit' 如果超过'http.lowSpeedTime'秒,则传输中止。 可以被'GIT_HTTP_LOW_SPEED_LIMIT'覆盖并且 'GIT_HTTP_LOW_SPEED_TIME'环境变量。
我称之为Codeplex调整。将其添加到.gitconfig
[http]
lowSpeedLimit = 1000
lowSpeedTime = 20