Отследите все удаленные ответвления мерзавца как локальные ответвления

При отслеживании единственного удаленного ответвления, поскольку локальное ответвление достаточно просто.

$ git checkout --track -b ${branch_name} origin/${branch_name}

Продвижение всех локальных ответвлений до удаленных, создающих новых удаленных ответвлений по мере необходимости также легко.

$ git push --all origin

Я хочу сделать реверс. Если у меня есть X количества удаленных ответвлений в единственном источнике:

$ git branch -r 
branch1
branch2
branch3
.
.
.

Я могу создать локальные ответвления отслеживания для всех тех удаленных ответвлений без необходимого для ручного создания каждого? Скажите что-то как:

$ git checkout --track -b --all origin

Я погуглил и RTMs, но подошел койка к настоящему времени.

160
задан Janson 18 December 2008 в 20:11
поделиться

2 ответа

Используя удар:

после мерзавца 1.9.1
for i in `git branch -a | grep remote | grep -v HEAD | grep -v master`; do git branch --track ${i#remotes/origin/} $i; done

кредиты: Val Blant, elias, и Hugo

перед мерзавцем 1.9.1

Примечание: следующий код, если используется в более поздних версиях мерзавца (> v1.9.1) причины

  1. (ошибка) Все созданные ответвления для отслеживания ведущего устройства
  2. (раздражение) Все созданные локальные имена ответвления, которые будут снабжены префиксом origin/
for remote in `git branch -r `; do git branch --track $remote; done

Обновление ответвления принимая, на локальных ответвлениях отслеживания нет никаких изменений:

for remote in `git branch -r `; do git checkout $remote ; git pull; done

Игнорируют неоднозначные refname предупреждения, мерзавец, кажется, предпочитает локальное ответвление, как оно должно.

98
ответ дан Dheeraj Bhaskar 4 November 2019 в 17:14
поделиться

Вы могли написать сценарий этого достаточно легко, но я не знаю, когда это было бы ценно. Те ответвления довольно быстро отстали бы, и необходимо будет обновить их все время.

удаленные ответвления автоматически будут усовершенствованными, таким образом, является самым легким только создать локальное ответвление в точке, где Вы на самом деле хотите работать над ним.

12
ответ дан Dustin 4 November 2019 в 17:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: