Menu
Coddy logo textTech

Git: Задать upstream-ветку

Последнее обновление

Upstream ветки - это удалённая ветка, которую она отслеживает. После того как он задан, простые git push и git pull знают, куда отправлять и откуда получать коммиты, без указания удалённого репозитория и ветки каждый раз. Обычно его задают при первом push с помощью -u или позже с помощью git branch --set-upstream-to.

Попробуйте это в терминальном playground - настоящая оболочка в вашем браузере, ничего устанавливать не нужно.

Настройка upstream связывает локальную ветку с её удалённым аналогом, и простые git push и git pull знают, куда обращаться.

Синтаксис

CommandWhat it does
git push -u origin featureВыполняет push и задаёт upstream за один шаг
git branch --set-upstream-to=origin/featureЗадаёт upstream для текущей ветки
git branch -u origin/feature featureЗадаёт upstream для указанной ветки
git branch -vvПоказывает каждую ветку и её upstream

Типичные случаи

GoalCommand
Задать upstream при первом pushgit push -u origin feature
Задать upstream для существующей веткиgit branch --set-upstream-to=origin/feature
Проверить, какой upstream заданgit branch -vv

Частые вопросы о git set upstream

Что даёт установка upstream-ветки?
Она связывает вашу локальную ветку с конкретной удалённой веткой. После этого git push и git pull на этой ветке знают, какой удалённый репозиторий и ветку использовать, поэтому вы можете запускать их без аргументов. Git также показывает, насколько вы опережаете или отстаёте от upstream в git status.
Как задать upstream-ветку?
Проще всего сделать это при первом push: git push -u origin <branch> выполняет push и задаёт upstream одновременно. Для ветки, которая уже существует в удалённом репозитории, используйте git branch --set-upstream-to=origin/<branch>, находясь на этой ветке.
Как посмотреть upstream ветки?
Выполните git branch -vv. Команда выводит ваши локальные ветки, каждая из которых помечена своим upstream (например, [origin/feature]) и тем, опережает она его или отстаёт. Ветки без upstream ничего не показывают в скобках.
Почему git push просит меня задать upstream?
Потому что для текущей ветки не настроен upstream, поэтому Git не знает, куда делать push. Выполните git push -u origin <branch> один раз, чтобы задать его; последующие push требуют только git push.
Могу ли я попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнять эти команды в настоящей оболочке в вашем браузере - ничего устанавливать не нужно. Бесплатный интерактивный курс Git от Coddy также пошагово охватывает работу с удалёнными репозиториями.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ