Вытащить другую ветку с удаленного на локальный

Я хочу получить ветку branch_1, которая существует в удаленном репозитории. Результаты: у меня есть branch_1 в моем локальном репозитории, который отслеживает то же самое branch_1 в удаленном репозитории.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
75
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Это очень простая задача, вы можете погуглить

git checkout -b branch_1 --track origin/branch_1
Ответ принят как подходящий

Обычно у вас есть один пульт. По соглашению его обычно называют origin. Итак, давайте сначала рассмотрим этот случай:

Ваше локальное репо должно знать об удаленной ветке. Может быть уже, но вы можете убедиться с помощью

git fetch

Если вы сделаете git branch -a, вы должны увидеть что-то вроде

origin/branch_1

Тогда просто

git checkout branch_1

Это увидит, что у вас нет локальной ветки с таким именем и что есть ровно одна удаленная ветка с таким именем, поэтому она создаст локальную ветку и автоматически настроит отслеживание.

Если у пульта другое имя, процедура такая же; вывод приведенной выше команды branch -a будет немного отличаться, поскольку то, что вы ищете, — это имя удаленной ссылки. (То есть приведенный выше вывод origin/branch_1 состоит из удаленного имени origin и имени ветки branch_1.)

Но что, если у вас несколько пультов? Например, у вас может быть origin, а также удаленный upstream, из которого origin был разветвлен. В этом случае возможно, что оба пульта имеют разные версии одной и той же ветки.

$ git branch -a
master
origin/master
origin/branch_1
upstream/branch_1

В этом случае git не будет знать, что делать, если вы просто скажете git checkout branch_1, поэтому вам нужно быть более явным. Это когда вам придется использовать

git checkout -b branch_1 --track origin/branch_1

(Это предполагает, что вы хотите локально отслеживать версию своего источника; вместо этого вы можете сказать --track upstream/branch_1, и тогда вы увидите состояние проекта, из которого разветвлен ваш источник.)

Наконец, имейте в виду, что pull имеет особое значение в git, и то, как вы его используете, не совсем правильно. Это может показаться придиркой, но в git происходит достаточно, чтобы такие вещи действительно повлияли на вашу способность общаться с другими пользователями git.

Для pull набора изменений необходимо включить эти изменения в текущую локальную ветку (обычно путем слияния или быстрой перемотки вперед). Чаще всего это используется для переноса изменений в локальную ветку из соответствующей удаленной ветки («вытягивание ветки»); но это немного отличается от случая, когда вы хотите создать локальную ветку из текущего состояния удаленной ветки.

Другие вопросы по теме