目标: 我有几个由相同规则管理的存储库。我想创建一个git别名,以帮助获取和/或仅拉取相关分支,而无需获取与我不关心的工作相关的许多远程分支的信息。我希望最终结果能够保持我的日志输出清洁和可管理,同时仍然提供相关信息。
具体细节: 我想要一个单一的命令来拉动#34; master"以"开发/"开头的任何分支; (即开发/ 2.0 ......)。还有其他几个分支我想避免获取。这些通常采用以" integration /"开头的形式。或"个人/"。
我得到了什么: 我现在知道git瓷器是什么,这要归功于" git fetch --help"以下是我如何使用它:
git fetch origin master:master -u
这甚至可以获得master和1个开发分支:
git fetch origin master:master development/2.0:development/2.0 -u
但我遇到麻烦将其扩展到每个开发分支而不单独列出它们(这似乎什么都不做):
git fetch origin development/*:development/* -u
提前感谢您的帮助!
答案 0 :(得分:4)
我不知道您可以在命令行上执行此操作,但您可以通过在git配置中配置refspec来完成此操作。
Config通常看起来像这样。
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
url = .....
你会想要这样的东西我认为(未经测试)
[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