2015-04-07 2 views
1

У меня есть пульт дистанционного управления, с которого я Извлекать только одну ветвь:Добавить ветвь множества удаленных принесенных ветвей

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

Я хочу добавить еще одну ветвь множества ветвей Принести из этого же пульта дистанционного управления.

Я знаю, что я могу изменить местную .git/config и добавить вторую выборку положения вручную:

[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> ...., который изначально использовался для создания отдельных ссылок refs?

ответ

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 
+0

Отличная идея, спасибо! – kkm