Задать вопрос

Как связать ветки git?

Подключаюсь на по ssh на сервер. хочу стянуть на сервер ветку с репозитория, чтобы они были связаны. Я могу создать на сервере новую ветку с тем же названием как в репозитории, и спулить в нее все из origin/ветка, но так они не связываются как я понял. Как это сделать?
  • Вопрос задан
  • 9197 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Инженер по тестированию
    5 месяцев
    Далее
  • Нетология
    Инженер по тестированию
    8 месяцев
    Далее
  • Skillbox
    Курс Java-разработчик
    4 месяца
    Далее
Решения вопроса 1
sergey-kuznetsov
@sergey-kuznetsov Куратор тега Git
Автоматизатор
А чтобы связать ветки используется такая команда
git branch --set-upstream-to=<внешний-репозиторий>/<внешняя-ветка> <локальная-ветка>

---------
Но ты всё усложняешь. Если зачем-то вручную создал ветку, то и связь настроить придётся руками. Из вопроса не до конца понятно, что конкретно ты сделал. Предположу что ты клонировал на сервер свой репозиторий.
git clone <URL>
Такая команда автоматически создаст remote с именем origin в которой будет храниться URL вышестоящего репозитория, распакует главную ветку origin/main в локальную ветку main и сразу создаст связь между ними.

Ты хочешь распаковать какую-то другую ветку и делаешь это сложным путем?
git branch feature # создать пустую ветку с именем feature
git switch feature # переключиться в эту новую ветку
# но свежесозданная ветка не связана ни с какой внешней, поэтому следующей командой
# придётся указать откуда и что скачивать
git pull origin feature # влить внешнюю ветку origin/feature в текущую локальную ветку
# но проще ветки сначала связать
git  branch --set-upstream-to=origin/feature feature
# и тогда заработает простой pull
git pull

Но тебе всё это не нужно на самом деле!
Достаточно после клонирования просто написать
git switch origin/feature

Одна строчка сделает всё вышеперечисленное. Создаст локально ветку с таким же именем, распакует в неё содержимое внешней ветки и создаст связь между локальной и внешней веткой.
Если потом, находясь в этой ветке, выполнишь короткую команду git pull, то увидишь что всё связано и скачивается откуда надо.

И даже можно сделать ещё проще. Уже во время клонирования сразу распаковать нужную ветку.
git clone --branch feature <URL>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@karminski
Senior React.JS Developer
Ветки "связываются" с помощью комманд pull/push. Pull - "вытягивает" код с удаленного сервера (например, github или другой) к вам на локальный сервер/машину. Push делает обратное - ваш код "улетает" на удаленный сервер.

Или вы про слияние (merge)?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
ITK academy Нижний Новгород
от 50 000 до 90 000 ₽
Made In Dream Санкт-Петербург
от 100 000 до 220 000 ₽
от 250 000 до 320 000 ₽