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

Подключаюсь на по ssh на сервер. хочу стянуть на сервер ветку с репозитория, чтобы они были связаны. Я могу создать на сервере новую ветку с тем же названием как в репозитории, и спулить в нее все из origin/ветка, но так они не связываются как я понял. Как это сделать?
  • Вопрос задан
  • 7456 просмотров
Решения вопроса 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)?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы