Menu
Coddy logo textTech

Git Push

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

git push загружает коммиты вашей локальной ветки в её удалённый аналог (например, на GitHub). После того как у ветки задан upstream, достаточно простого git push; первый push новой ветки использует -u, чтобы создать удалённую ветку и настроить отслеживание, так что последующие push и pull не требуют аргументов.

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

git push отправляет ваши новые локальные коммиты в удалённую ветку.

Синтаксис

CommandWhat it does
git pushОтправляет текущую ветку в её upstream
git push -u origin featureОтправляет новую ветку и задаёт upstream
git push origin mainОтправляет в конкретный удалённый репозиторий и ветку
git push --tagsОтправляет все локальные теги
git push --force-with-leaseБезопасный force push после rebase

Частые случаи

GoalCommand
Отправить совершенно новую веткуgit push -u origin feature
Отправить после настройки upstreamgit push
Отправить один тегgit push origin v1.0.0
Удалить удалённую веткуgit push origin --delete feature

Частые вопросы про git push

Как отправить новую ветку в удалённый репозиторий?
Выполните git push -u origin <branch>. Флаг -u (сокращение от --set-upstream) создаёт ветку в удалённом репозитории и связывает вашу локальную ветку с ней, так что потом простые git push и git pull работают без аргументов. Удалённая ветка не существует до этого первого push.
Почему git push пишет 'no upstream branch'?
Ваша локальная ветка ещё не связана с удалённой веткой. Отправьте её командой git push -u origin <branch>, чтобы создать удалённую ветку и задать upstream. После этого один git push уже знает, куда отправлять коммиты.
Как пушить теги?
Теги по умолчанию не отправляются. Отправьте один тег командой git push origin <tagname> или все сразу командой git push --tags. Это частая ловушка - тег, созданный локально, не появится в удалённом репозитории, пока вы явно его не отправите.
Как безопасно сделать force push?
После переписывания истории (rebase или amend) используйте git push --force-with-lease вместо --force. Он перезаписывает удалённый репозиторий только в том случае, если после вашего последнего fetch никто больше не пушил, защищая работу коллег. Полное объяснение смотрите на странице git force push.
Можно ли попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить git push в настоящей оболочке в вашем браузере - ничего устанавливать не нужно. Бесплатный интерактивный курс по Git от Coddy также пошагово рассматривает работу с удалёнными репозиториями.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ