【问题标题】:Excluding a git remote from "fetch --all"从“fetch --all”中排除 git 远程
【发布时间】:2019-02-28 19:36:06
【问题描述】:

是否可以在 git 中配置只有在正式请求其名称时才获取的远程?所以他们将被排除在fetch --all之类的操作之外。

想象一个名为“my-no-auto-fetch-remote”的休眠(禁用或其他)遥控器:

$ git fetch my-no-auto-fetch-remote

(已获取)

$ git fetch --all

(不应获取 my-no-auto-fetch-remote)

【问题讨论】:

    标签: git git-remote


    【解决方案1】:

    不是真的,不:--all 表示全部。但是您可以定义远程,并使用git remote update 来更新组。将通常不可用的遥控器放入不是默认组的组中。详情请见the git remote documentation

    git fetch 也适用于群组,我只是更喜欢在处理群组时使用git remote,而我自己则更喜欢使用git fetch 来处理一个单独的遥控器。可能是十多年前的遗留物......)

    【讨论】:

      【解决方案2】:

      有一个远程配置skipFetchAll

      来自文档:https://git-scm.com/docs/git-config/1.9.2

      远程..skipFetchAll

      如果为真,这个遥控器将被跳过 使用 git-fetch[1] 或 update 子命令更新时的默认值 git-remote[1].

      由于添加或更改遥控器时命令行没有选项,我不得不将该配置编辑.git/config文件,如下:

      [remote "my-remote"]
              url = git@the-repository-url
              fetch = +refs/heads/*:refs/remotes/my-remote/*
              skipFetchAll = true
      

      【讨论】:

        【解决方案3】:

        我会用一个 bash 技巧来做到这一点:

        git remote | grep -v the-repo-i-dont-want | xargs git fetch
        

        可能会将其变成脚本或 git 别名。

        【讨论】:

          猜你喜欢
          • 2016-08-06
          • 2014-07-06
          • 1970-01-01
          • 2022-01-01
          • 2014-03-31
          • 1970-01-01
          • 2015-10-05
          • 2013-05-26
          • 1970-01-01
          相关资源
          最近更新 更多