Отслеживать новую удаленную ветвь, созданную на GitHub
У меня уже есть локальная ведущая ветвь, отслеживающая удаленную главную ветвь проекта github. Теперь мой соавтор создал новую ветку в том же проекте, и я хочу сделать следующее:
- создать новую ветвь локально
- сделайте эту новую ветку отслеживать новую удаленную ветвь.
Как я должен делать это правильно?
Ответы
Ответ 1
git fetch
git branch --track branch-name origin/branch-name
Первая команда гарантирует наличие удаленной ветки в локальном репозитории. Вторая команда создает локальную ветвь, которая отслеживает удаленную ветвь. Предполагается, что ваше удаленное имя origin
и имя ветки branch-name
.
--track
опция включена по умолчанию для удаленных веток, и вы можете ее опустить.
Ответ 2
Прежде всего вам нужно получить удаленный репозиторий:
git fetch remoteName
Чем вы можете создать новую ветку и настроить ее для отслеживания удаленной ветки, которую вы хотите:
git checkout -b newLocalBranch remoteName/remoteBranch
Вы также можете использовать "git branch --track" вместо "git checkout -b" как указано max.
git branch --track newLocalBranch remoteName/remoteBranch
Ответ 3
Если у вас нет существующей локальной ветки, это действительно так просто, как:
git fetch
git checkout <remote-branch-name>
Например, если вы выбрали и есть новая ветвь удаленного отслеживания, называемая origin/feature/Main_Page
, просто выполните следующее:
git checkout feature/Main_Page
Это создает локальную ветвь с тем же именем, что и удаленная ветвь, отслеживая эту удаленную ветвь. Если у вас несколько пультов с одинаковым именем ветки, вы можете использовать менее двусмысленные:
git checkout -t <remote>/<remote-branch-name>
Если вы уже создали локальную ветвь и не хотите ее удалять, см. Как сделать существующий ответ на Git отслеживать удаленную ветку?.
Ответ 4
Если ветка не является удаленной ветвью, вы можете перенаправить локальную ветку на удаленный компьютер.
git checkout master
git push origin master
или когда у вас есть ветвь dev
git checkout dev
git push origin dev
или когда существует удаленная ветвь
git branch dev -t origin/dev
Есть несколько других posibilites для нажатия удаленной ветки.