这可能违背了git的设计理念,但是:在我的组织中,我经常拉下数以千计的开发人员分支,名为例如: Dev/<login>/<something...>
有没有办法让git忽略整个分支?
我宁愿有git,默认情况下,不拉下这些分支。然后,如果事实证明我确实需要在特定分支中进行协作,那么我只是明确地将其拉下来。
这可能吗? (我很少研究表明无)
感谢
这可能违背了git的设计理念,但是:在我的组织中,我经常拉下数以千计的开发人员分支,名为例如: Dev/<login>/<something...>
有没有办法让git忽略整个分支?
我宁愿有git,默认情况下,不拉下这些分支。然后,如果事实证明我确实需要在特定分支中进行协作,那么我只是明确地将其拉下来。
这可能吗? (我很少研究表明无)
感谢
git-pull
使用git-fetch
。
查看https://git-scm.com/docs/git-fetch的文档,特别是“配置远程跟踪分支”部分(下面逐字附加)。
看着这一点,您只能将模式列入白名单,而不能排除某些模式。什么,你可以因此要做的就是一个:
Dev/*
和Foo/*
区分混帐取允许您将远程配置。 <存储库> .fetch配置变量。
典型地,这样一个可变可能看起来像这样:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
该配置在两种方式使用:
当GIT中取指令而不指定什么分支和/或代码,以便在所述命令获取运行线,例如git获取原点或git获取,远程。 <资源库> .fetch值用作refspecs-它们指定要获取哪个ref以及哪些本地ref需要更新。上面的例子将获取原点中存在的所有分支(即任何与值左侧相匹配的ref,refs/heads/),并更新refs/remotes/origin/中相应的远程跟踪分支层次结构。
哦,谢谢你, @torek! –
你总是可以简单地获取你正在工作的当前分支,并且只能获取这个分支。
我宁愿让Git,默认情况下,当你需要合并你的分支,你可以随时使用这个语法来拉拽不下来这些分支
# pull only the current branch you are working on
# git pull = git fetch && git merge
git pull origin <branch name>
现在/合并它:
# grab the remote branch
git pull origin Dev/<branch name>
另一种方式是 “玩” 与您refspec
但我不是recommendin即便是因为它很简单。
这是一个样表的文档:
......但是,你可以使用命名空间(或目录)来完成类似的东西。
如果你有一个QA组,他们推送一系列分支,
,你想要得到的主分支和QA组的所有分支,但没有别的,你可以使用这样的配置部分:[remote "origin"] url = https://github.com/schacon/simplegit-progit fetch = +refs/heads/master:refs/remotes/origin/master fetch = +refs/heads/qa/*:refs/remotes/origin/qa/*
'.gitignore'将会是错误的地方。您需要调整'.git/config'中的'fetch'规范以获取适当的遥控器。尝试在那里玩一些通配符。对不起,我没有足够的知识来帮助你进一步,但很想看到一个工作的解决方案。 :-) –
可能重复[可以永久忽略远程分支?](http://stackoverflow.com/questions/16842426/can-git-permanently-ignore-a-remote-branch) –