Как переключиться на другую удаленную ветку в git

у меня есть 3 локальных и 3 удаленных ветви и хочу быть на одной ветви на обоих.

на местных:

git branch
  A
* B
  master

git branch -r
  origin/A
  origin/B
  origin/master

на пульте дистанционного управления:

git branch
  A
  B
* master

Я могу фиксировать, нажимать и тянуть B, но мой крюк обновления развертывает master вместо B, я полагаю, потому что удаленная ветвь все еще настроена на master. Я создал ветку в:

git branch B
git checkout B
git push origin B

2 ответов


насколько я знаю, нет способа изменить текущую ветвь пульта ДУ с git push. Нажатие просто скопирует ваши локальные изменения в этот репозиторий. Обычно пульты, которые вы нажимаете, должны быть --bare, без рабочего каталога (и, следовательно, "текущей ветви").


ниже приведен мой метод переключения и работы для удаленной ветви репозитория git.

сначала посмотрите все ветви, просто введите следующую команду в терминале:

git branch --all

и тогда вы увидите все ветви на локальном и удаленном. Что-то вроде этого:--9-->

*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 филиал точно.