Как переключиться на другую удаленную ветвь в 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.