在git push + pull中强制超时

11

我找到的所有问题都是想要避免 git push/pull 超时,而我的情况是希望强制执行超时。我的 push + pull 都通过 ssh 连接到可能在某个时间点不可用的远程机器上。例如,我有一个脚本将内容推送到两个公共仓库。当脚本将内容推送到第一个仓库但该机器不可用时,我不想让脚本一直挂起。相反,我希望在一定时间后超时并且推送失败,然后继续推送到第二个仓库。

这里有什么选项吗?

2个回答

13

我认为你不能使用内置功能进行自动故障转移。但是由于Git只是在SSH下运行,因此可以在.ssh/config中为相关机器添加ConnectTimeout选项。参见man ssh_config。然后在shell中使用类似于git push foo || git push bar的命令即可达到你想要的效果。


你好,它们都使用ssh吗?git@github.com:neovim/neovim.githttps://github.com/neovim/neovim.git - Good Pen

1

来自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


1
什么是Codeplex调整? - Good Pen
Codeplex非常慢,所以我不得不进行设置才能使其正常工作。 - CAD bloke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接