git fetch blacklist remote

时间:2017-10-20 21:16:48

标签: git git-fetch

有没有办法让git fetch --allgit fetch的其他标志不能从一个遥控器获取?

我知道有git fetch --multiple foo bar baz,但我正在寻找更多git fetch --exclude remote_rarely_fetched_from_needs_vpn的内容。

否则我必须等待命令因未能与该遥控器建立网络连接而超时。

或者,如果我可以从主机名匹配github.com的所有遥控器中获取它,它适用于我的情况,但我有兴趣看到所有选项,如果有的话。

2 个答案:

答案 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;
}