有没有办法让git fetch --all
或git fetch
的其他标志不能从一个遥控器获取?
我知道有git fetch --multiple foo bar baz
,但我正在寻找更多git fetch --exclude remote_rarely_fetched_from_needs_vpn
的内容。
否则我必须等待命令因未能与该遥控器建立网络连接而超时。
或者,如果我可以从主机名匹配github.com
的所有遥控器中获取它,它适用于我的情况,但我有兴趣看到所有选项,如果有的话。
答案 0 :(得分:2)
git config remotes.usual "origin upstream qa maint vendor and so forth"
git remote update usual
如果预先列出通常的嫌疑人很容易。要扫描您的远程网址,您可以
git config --get-regexp remote\\..*\\.url
和一点点光线会让你得到你想要的任何模式的远程名称。
答案 1 :(得分:2)
jthill's answer让我走上正轨。我设法在git remote
的文档中找到了这段文字:
<强>更新强>
获取由存储库定义的存储库中命名的一组遥控器的更新。&lt; group&gt;。如果未在命令行中指定命名组,则将使用配置参数remotes.default;如果没有定义remotes.default,则所有没有远程配置参数的遥控器都将被更新。&lt; name&gt; .skipDefaultUpdate设置为true。
通过git config
文档,我找到了完全符合我需要的选项:
<强>
remote.<name>.skipDefaultUpdate
强>如果为true,则在使用git-fetch[1]或
update
git-remote[1]的git config remote.remote_rarely_fetched_from_needs_vpn.skipDefaultUpdate true
子命令进行更新时,默认情况下会跳过此遥控器。
要在我的仓库中设置此选项,我只需执行此操作:
int x = 0; //class field variable
private void button1_Click(object sender, EventArgs e)
{
Label1.Text += (x++)%4 + 1;
}