Как переключиться на другую удаленную ветку в git - PullRequest
16 голосов
/ 21 апреля 2011

У меня есть 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. Я создал ветку B, используя:

git branch B
git checkout B
git push origin B

Ответы [ 2 ]

28 голосов
/ 28 ноября 2015

Ниже приведен мой метод переключения и работы для удаленной ветви репозитория 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 точно.

4 голосов
/ 21 апреля 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...