Как переключиться на другую удаленную ветвь в git
У меня есть 3 локальных и 3 удаленных ветки и вы хотите быть в одной ветке на обоих.
на локальном уровне:
git branch
A
* B
master
git branch -r
origin/A
origin/B
origin/master
на пульте дистанционного управления:
git branch
A
B
* master
Я могу совершить, нажать и вытащить B, но мой крюк обновления разворачивает мастер вместо B, я полагаю, потому что удаленная ветвь по-прежнему настроена на мастеринг. Я создал ветку B, используя:
git branch B
git checkout B
git push origin B
Ответы
Ответ 1
Насколько я знаю, нет способа изменить ветвь удаленного потока с помощью git push
. Pushing просто скопирует локальные изменения в этот репозиторий. Обычно удаленные вами кнопки должны быть --bare
, без рабочего каталога (и, следовательно, нет "текущей ветки" ).
Ответ 2
Ниже приведен мой метод переключения и работы для удаленной ветки репозитория git.
Сначала найдите все ветки, просто введите следующую команду в терминал:
git branch --all
И тогда вы увидите все ветки на локальном и удаленном. Что-то вроде этого:
*master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
Предположим, вы хотите перейти на ветвь remotes/origin/develop
. Тип:
git checkout remotes/origin/develop
Затем снова введите git branch --all
, чтобы найти это:
*(detached from remotes/origin/develop)
master
remotes/origin/develop
remotes/origin/master
remotes/origin/web
remotes/origin/app
И тогда просто выполните:
git checkout -b develop
Отныне вы точно работаете с ветвью remotes/origin/develop
.