我可以在.git / config中指定获取多个refspecs吗? [英] Can I specify in .git/config to fetch multiple refspecs?

查看:429
本文介绍了我可以在.git / config中指定获取多个refspecs吗?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我不想从原点获取每个分支,因为有很多。我只想跟踪一些(例如, master )和我的分支(在 my_name 子目录下组织)。我可以这样做:
$ b $ pre $ git fetch origin refs / heads / my_name / *:refs / remotes / origin / my_name / * refs / heads / master:refs / remotes / origin / master refs / heads / some_branch:refs / remotes / origin / some_branch

我想将refspecs的上述set指定为 git fetch 的默认值。我曾尝试

  $ git config remote.origin.fetch refs / heads / my_name / *:refs / remotes / origin / my_name / * 
$ git config --add remote.origin.fetch refs / heads / master:refs / remotes / origin / master

失败:

  $ git config remote.origin.fetch 
refs /头/ my_name / *:refs / remotes / origin / my_name / *
错误:关键字remote.origin.fetch的多个值:refs / heads / master:refs / remotes / origin / master

我也尝试以下方法,但也失败:

  $ git config remote.origin.fetch'refs / heads / my_name / *:refs / remotes / origin / my_name / * refs / heads / master:refs / remotes / origin / master refs / heads / some_branch:refs / remotes / origin / some_branch'
$ git fetch
fatal:无效的refspec'refs / heads / my_name / *:refs / remotes / origin / my_name / * refs / heads / master:refs / remotes / origin / master refs / heads / some_branch:refs / remotes / origin / some_branch'

注意:Git 1.7.11

解决方案

.git / config 指定多次获取的refspecs:

  [remote origin] 
fetch = refs / heads / my_name / *:refs / remotes / origin / my_name / *
fetch = refs / heads / master:refs / remotes / origin / master
fetch = refs / heads / some_branch:refs / remotes / origin / some_branch

您可以添加前缀 + 在refspec之前,如果你想重写获取非快速转发引用,像这样:

  [remoteorigin] 
fetch = + refs / heads / my_name / *:refs / remotes / origin / my_name / *
fetch = + refs / heads / master:refs / remotes / origin / master
fetch = + refs / heads / some_branch:refs / remotes / origin / some_branch

请注意,部分通配符不受支持(即 a / b / ca * 不受支持,但 a / b / * is)。



10.5 Git内部 - Refspec

I do not want to fetch every branch from origin because there are many. I just want to track a few (e.g., master) and my branches (organized under my_name sub-directory). I can do the following:

$ git fetch origin refs/heads/my_name/*:refs/remotes/origin/my_name/* refs/heads/master:refs/remotes/origin/master refs/heads/some_branch:refs/remotes/origin/some_branch

I want to specify the above "set" of refspecs to be the default of git fetch. I have tried

$ git config remote.origin.fetch refs/heads/my_name/*:refs/remotes/origin/my_name/*
$ git config --add remote.origin.fetch refs/heads/master:refs/remotes/origin/master

It fails:

$ git config remote.origin.fetch
refs/heads/my_name/*:refs/remotes/origin/my_name/*
error: More than one value for the key remote.origin.fetch: refs/heads/master:refs/remotes/origin/master

I also try the following but it also fails:

$ git config remote.origin.fetch 'refs/heads/my_name/*:refs/remotes/origin/my_name/* refs/heads/master:refs/remotes/origin/master refs/heads/some_branch:refs/remotes/origin/some_branch'
$ git fetch
fatal: Invalid refspec 'refs/heads/my_name/*:refs/remotes/origin/my_name/* refs/heads/master:refs/remotes/origin/master refs/heads/some_branch:refs/remotes/origin/some_branch'

Note: Git 1.7.11

解决方案

You can add the following lines in your .git/config to specify multiple refspecs for fetch:

[remote "origin"]
       fetch = refs/heads/my_name/*:refs/remotes/origin/my_name/*
       fetch = refs/heads/master:refs/remotes/origin/master
       fetch = refs/heads/some_branch:refs/remotes/origin/some_branch

You can add the prefix + before the refspec, if you would like to override fetching non-fast-forward references as well, like this:

[remote "origin"]
       fetch = +refs/heads/my_name/*:refs/remotes/origin/my_name/*
       fetch = +refs/heads/master:refs/remotes/origin/master
       fetch = +refs/heads/some_branch:refs/remotes/origin/some_branch

Note that partial globbing is not supported (i.e. a/b/ca* is not supported, but a/b/* is).

10.5 Git Internals - The Refspec

这篇关于我可以在.git / config中指定获取多个refspecs吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆