Git 如何获取/拉取与通配符字符串匹配的多个分支?

Git 如何获取/拉取与通配符字符串匹配的多个分支?,git,git-pull,git-fetch,Git,Git Pull,Git Fetch,目标: 我有几个由相同规则管理的存储库。我想创建一个git别名来帮助获取和/或仅获取相关分支,而不获取与我不关心的工作相关的许多远程分支的信息。我希望最终结果将保持我的日志输出干净和可管理,同时仍然提供我的相关信息 具体内容: 我想要一个命令来拉动“master”和任何以“development/”开头的分支(即development/2.0…)。我希望避免获取其他几个分支。这些文件通常采用以“集成/”或“个人/”开头的形式 我得到的是: 多亏了“git fetch--help”中的一条评论,我

目标: 我有几个由相同规则管理的存储库。我想创建一个git别名来帮助获取和/或仅获取相关分支,而不获取与我不关心的工作相关的许多远程分支的信息。我希望最终结果将保持我的日志输出干净和可管理,同时仍然提供我的相关信息

具体内容: 我想要一个命令来拉动“master”和任何以“development/”开头的分支(即development/2.0…)。我希望避免获取其他几个分支。这些文件通常采用以“集成/”或“个人/”开头的形式

我得到的是: 多亏了“git fetch--help”中的一条评论,我现在知道了什么是git瓷器,下面是我如何使用它的:

git fetch origin master:master -u
这甚至可以获得master和1个开发分支:

git fetch origin master:master development/2.0:development/2.0 -u
但我很难将其扩展到每个开发分支,而不单独列出它们(这似乎没有任何作用):


提前感谢您的帮助

我不知道您是否可以在命令行上执行此操作,但您可以通过在git配置中配置refspec来执行此操作

配置通常看起来像这样

[remote "origin"]
    fetch = +refs/heads/*:refs/remotes/origin/*
    url = .....
我想你会想要这样的(未经测试)

虽然从中获取的行可能需要更像这些,但我不确定

    fetch = +refs/heads/development/*:refs/remotes/origin/development/*
    fetch = +refs/heads/master:refs/remotes/origin/master

development/*
工具应该可以工作,前提是您的命令解释器不会吃掉或弄坏星号。请注意,通常的本地分支名称是“远程跟踪”分支,
refs/remotes//…
,而不是您的本地分支,因此这看起来有点奇怪。请参阅,在我意识到这需要在单个存储库配置而不是全局git配置中之前,我也尝试了几次。fetch=+refs/heads/development/*:refs/remotes/origin/development/*fetch=+refs/heads/master:refs/remotes/origin/master正是我想要的。感谢您的快速回复!删除你说的未测试的块怎么样?所以下一位读者得到了直截了当的答案。
[remote "origin"]
    fetch = +refs/heads/development/*:refs/remotes/origin/*
    fetch = +refs/heads/master:refs/remotes/origin/*
    url = .....
    fetch = +refs/heads/development/*:refs/remotes/origin/development/*
    fetch = +refs/heads/master:refs/remotes/origin/master