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
,