将分支添加到远程提取的分支集合

时间:2015-04-07 19:16:48

标签: git git-remote

我有一个遥控器,我只从中获取一个分支:

[remote "upstream"]
    url = ....
    fetch = +refs/heads/foo:refs/remotes/upstream/foo

我想将另一个分支添加到我从同一个遥控器获取的分支集合中。

我知道我可以编辑本地.git/config并手动添加第二个fetch子句:

[remote "upstream"]
    url = ....
    fetch = +refs/heads/foo:refs/remotes/upstream/foo
    fetch = +refs/heads/bar:refs/remotes/upstream/bar

Ergo,我可以在不编辑配置文件的情况下调用git config魔法来做同样的事情:

 git config --local --add remote.upstream.fetch +refs/heads/bar:+refs/remotes/origin/bar

这两种方法(特别是answers to another question中提到的)对我来说看起来很低级。是否有更高级别的git命令将分支添加到远程引用集,就像最初用于创建单分支引用的remote add -t <branch> ....一样?

1 个答案:

答案 0 :(得分:1)

不是我知道的。

最简单的方法是在bash(甚至在Windows上)自己编写“高级命令”脚本,称之为git-addfetchbr.sh(存储在$PATH中的任何位置)。
这样你就可以输入:

git addfetchbr upstream bar bar

脚本会执行:

git config --local --add remote.$1.fetch +refs/heads/$2:+refs/remotes/$1/$3