【问题标题】:git fetch blacklist remotegit 获取远程黑名单
【发布时间】:2018-04-02 02:51:19
【问题描述】:

有没有办法让git fetch --allgit fetch 的其他标志不从一个远程获取?

我知道有 git fetch --multiple foo bar baz,但我正在寻找更多类似 git fetch --exclude remote_rarely_fetched_from_needs_vpn 的东西。

否则我必须等待命令超时,因为无法建立与该远程的网络连接。

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

【问题讨论】:

  • 你有很多遥控器,很难列出所有的“白名单”吗?
  • @Code-Apprentice 我总共有九个,包括我想默认排除的那个

标签: git git-fetch


【解决方案1】:

jthill's answer 让我走上了正轨。我设法在git remote 的文档中找到了这段文字:

更新

获取由 remotes. 定义的存储库中一组命名的遥控器的更新。如果命令行中没有指定命名组,将使用配置参数 remotes.default;如果没有定义 remotes.default,所有没有配置参数 remote..skipDefaultUpdate 设置为 true 的遥控器都会被更新。

翻阅git config 文档,我找到了完全符合我需要的选项:

remote.<name>.skipDefaultUpdate

如果为 true,则在使用 git-fetch[1]git-remote[1]update 子命令进行更新时,将默认跳过此遥控器。

要在我的 repo 上设置此选项,我只需这样做:

git config remote.remote_rarely_fetched_from_needs_vpn.skipDefaultUpdate true

【讨论】:

  • Welp,我今天学到了一些新东西。不知道那里有。
【解决方案2】:
git config remotes.usual "origin upstream qa maint vendor and so forth"
git remote update usual

如果预先列出通常的嫌疑人很容易。要扫描您的远程网址,您可以

git config --get-regexp remote\\..*\\.url

稍加调整即可获得具有所需模式的远程名称。

【讨论】:

    猜你喜欢
    • 2012-03-21
    • 2013-09-22
    • 2017-06-09
    • 2011-04-08
    • 2021-01-13
    • 1970-01-01
    相关资源
    最近更新 更多