Git checkout удаленная ветка удаленного репозитория

Когда git клонирует какой-либо репозиторий, он извлекает из него все ветви:

git clone https://github.com/android/platform_build.git build1
cd build1/ && git branch -a && cd ..

потом, когда я использую build1 как зеркало и клонирую его, я не вижу все его удаленные ветви (вижу только build1местный мастер филиал)

git clone build1 build2
cd build2 && git branch -a && cd ..

Как я могу оформить заказ удаленных филиалов?

Я знаю, что могу проверить все удаленные ветви в зеркале build1 с помощью команды

cd build1 && for remote in `git branch -r `; do git branch --track $remote; done

Отслеживание всех удаленных веток git как локальных, но что если у меня нет доступа к каталогу build1?

Также есть git ls-remote origin команда, которая показывает все удаленные ссылки, но есть ли элегантный способ проверить эти удаленные удаленные ветви?

1 ответ

Решение

После того, как вы клонируете build1 в build2, build1 является build2"s origin, а также build2 ничего не знает о https://github.com/android/platform_build.git, где живут "удаленные" ветки. Одним из решений может быть добавление https://github.com/android/platform_build.git в качестве пульта в конфигурации build2, Чтобы добавить пульт называется github:

git remote add github https://github.com/android/platform_build.git

Затем запустите fetch получить удаленные ветки:

git fetch github

Теперь, когда вы бежите git branch -a вы должны увидеть ветки с префиксом remotes/github/ которые соответствуют префиксам с remotes/origin в build1,

С другой стороны, build2 должен иметь удаленный филиал для каждого локального филиала в build1включая те, которые отслеживают удаленные ветви с build1Перспектива Например, если есть ветка с именем foo на GitHub, он будет отображаться как remotes/origin/foo в build1, Если вы настроили локальную ветку для отслеживания этой удаленной ветви в build1 также называемый foo, затем build2 должен иметь remotes/origin/foo также. Тогда, когда foo обновляется в build1 получая / объединяя изменения из GitHub fooэти изменения должны появиться в build2 после fetch/pull,

Другие вопросы по тегам