Купить Корзина
  • Домены и сайты
  • Облако и IT-инфраструктура
  • Вход

Получить консультацию

Ответим на вопросы, расскажем о конфигурациях, поможем с переносом, подберем оборудование, подготовим коммерческое предложение

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности и правилами пользования сайтом

Персональный менеджер ответит на ваши вопросы и проведет через все этапы заключения договора: — подберет оборудование — сформирует коммерческое предложение — поможет с миграцией сервера к нам

Нажимая кнопку «Отправить» я даю согласие на обработку персональных данных и подтверждаю, что ознакомился с Политикой конфиденциальности и правилами пользования сайтом

Или просто оставьте номер телефона, и мы перезвоним вам

  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Рег.облако
    3. Облачные серверы
    4. Установка программного обеспечения
    5. Как пользоваться командой Git push

    Как пользоваться командой Git push

    Git push — это одна из консольных команд Git. Она позволяет передать изменения из локального репозитория (набора файлов из папки .git) в удаленный. Разработчики используют эту команду в следующих целях:

    • добавить новый функционал в основную ветку,
    • исправить баг,
    • закрыть уязвимость в коде и др.

    В статье мы расскажем, как пользоваться командой git push и перечислим наиболее популярные опции.

    Основной функционал команды git push

    Существует большое число вариантов команды git push, основные из которых мы опишем ниже. Если вы хотите изучить все опции:

    • 1
      Подключитесь к серверу с Git по SSH.
    • 2

      Введите команду:

      git push --help

    Для работы с основным функционалом git push вам также потребуется SSH-подключение к серверу.

    Как проверить наличие незапушенных коммитов

    Перед тем как пушить новую информацию, нужно сохранить текущие изменения — они называются коммитами. Для этого необходимо использовать команду git commit. Перед тем как сохранить изменения, проверьте наличие изменений с помощью команды:

    git status

    Если на локальном сервере есть несохраненные изменения, на экране отобразится сообщение:

    Your branch is ahead of 'origin/master' by 4 commits.

    Чтобы получить детальную информацию по истории коммитов, введите команду:

    git log

    В выводе отобразится история коммитов:

    commit 0fcd9558b013f642a8c3b4a59a16a66de39c99bd (HEAD -> master)
    Author: User <name@test.ru>
    Date:   Sun Jan 01 00:00:00 2023 +0300
    
        Local commit
    
    commit 289c650767d2c7c2e58486e27b8b3933c6442078 (origin/master, origin/HEAD)
    Author: User <name@test.ru>
    Date:   Sun Jan 01 00:05:00 2023 +0300
    
        Pushed commit

    Эти изменения можно отправить на удаленный сервер. Однако сначала нужно связать локальный и удаленный репозитории между собой.

    Как связать локальный и удаленный репозиторий

    Перед тем как начать работу нужно связать локальный и удаленный репозиторий. Для этого используется команда:

    git remote add repository_name repository_link

    Где:

    • repository_name — название удаленного репозитория,
    • repository_link — ссылка на удаленный репозиторий.

    Как отправить изменения в удаленный репозиторий

    Помимо коммитов в Git существуют ветки — указатели, которые ведут к коммитам. Чтобы запушить изменения в ту или иную ветку, используйте команду:

    git push repository_name branch_name

    Где:

    • repository_name — название удаленного репозитория,
    • branch_name — название ветки, в которую нужно отправить изменения. Чаще всего она носит название master или main.

    Если вам нужно отправить изменения в основную ветку, команда будет иметь следующий вид:

    git push origin master

    Если вы хотите отправить большое количество изменений, перед началом работы введите команду:

    git push -u origin master

    После этого для пушинга можно использовать короткую команду:

    git push

    Как отправить локальную ветку в удаленную ветку

    Бывают случаи, когда нужно отправить целую локальную ветку в ветку удаленного репозитория. Для этого используется следующая команда:

    git push repository_name local_branch:remote_branch

    Где:

    • repository_name — название локального репозитория,
    • local_branch — название локальной ветки,
    • remote_branch — название удаленной ветки.

    Как отправить все ветки на сервер

    Если вам нужно отправить все измененные ветки в удаленный репозиторий, используйте следующую команду:

    git push repository_name --all

    Вместо repository_name укажите имя удаленного репозитория.

    Как отправить изменения локальной ветки

    Для отправки изменений локальной ветки не нужно указывать ее название. Для этого используется команда:

    git push repository_name HEAD

    Вместо repository_name укажите имя удаленного репозитория. Значение HEAD указывает на текущую ветку.

    Как сделать принудительную публикацию

    Обратите внимание

    Следующая команда сотрет предыдущую публикацию из общего доступа. Рекомендуем выполнять принудительную публикацию только в крайнем случае.

    Иногда при попытке публикации может возникать ошибка:

    To github.com:test/index.git
     ! [rejected]        branch_name -> branch_name (fetch first)
    error: не удалось отправить некоторые ссылки в «github.com:test/index.git»

    Это происходит, когда другой пользователь успел запушить изменения раньше вас. Если вам нужно отправить изменения, не обращая внимание на ошибку, используйте команду:

    git push --force

    Если вы не хотите, чтобы изменения от других пользователей не перезаписывались, используйте этот вариант команды:

    git push --force-with-lease

    Как удалить ветку в Git

    Чтобы удалить локальную ветку, используйте следующую команду:

    git branch -d branch_name

    Вместо branch_name укажите имя локальной ветки.

    Для того чтобы стереть удаленную ветку, используйте другой вариант команды:

    git push --delete repository_name branch_name

    Где:

    • repository_name — имя удаленного репозитория,
    • branch_name — имя ветки, которую нужно удалить.

    Как создать и запушить тег

    Тег в Git — это метка, которой можно обозначить коммит в истории. Эта история хранится в репозитории Git.

    Чтобы создать тег, используется следующая команда:

    git tag tag_name

    Вместо tag_name укажите название тега.

    Чтобы отправить тег в удаленный репозиторий, введите команду:

    git push repository_name tag_name

    Где:

    • repository_name — название удаленного репозитория,
    • tag_name — название тега, который нужно запушить.

    Обратите внимание

    Следующая команда отправит все теги, в том числе удаленные с сервера.

    Для отправки всех тегов используйте команду:

    git push --tags

    Как удалить тег

    Для того чтобы удалить тег, к команде git push добавляется флаг --delete:

    git push --delete repository_name tag_name

    Где:

    • repository_name — название удаленного репозитория,
    • tag_name — название тега, который нужно удалить.

    Если вы хотите удалить локальные теги, используйте команду:

    git tag -d tag_name

    Вместо tag_name укажите название тега, который вы хотите удалить.

    Дополнительные возможности git

    Как удалить локальные данные

    Если вы удалили ветку с сервера, она по-прежнему существует локально. Чтобы удалить все данные, которых нет на сервере, используйте команду:

    git remote prune repository_name

    Вместо repository_name укажите имя удаленного репозитория.

    Как проверить пушинг

    Если вы хотите исключить ошибку при пушинге изменений, используйте команду:

    git push --dry-run

    Эта команда имеет особенность: при ее вводе изменения не запушатся. Однако вывод будет таким, как при реальной отправке изменений.

    Как выполнить атомарный пушинг

    Если вы тестируете проверяющие системы Git, вам может понадобиться особое «поведение» сервера: он должен либо принять все отправленные ветки, либо отклонить их.

    Когда вам требуется подобный тест, выполните атомарный пушинг. Для этого используйте команду с опцией --atomic:

    git push --atomic repository_name branch_name

    Где:

    • repository_name — название удаленного репозитория,
    • branch_name — имя ветки, которую нужно отправить. Если вы хотите запушить несколько веток одновременно, перечислите их через пробел.

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Бесплатный хостинг для сайта
    • Дешевый хостинг
    • Бесплатный VPS-сервер
    • Дешёвые VPS
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера