Около
Команда принимает два аргумента:
- имя удаленного репозитория, например, ;
- Имя ветви, например
Например:
git push REMOTE-NAME BRANCH-NAME
Например, вы обычно выполняете команду для отправки локальных изменений в веб-репозиторий.
Переименование ветвей
Чтобы переименовать ветвь, используйте ту же команду , добавив к ней еще один аргумент: имя новой ветви. Например:
git push REMOTE-NAME LOCAL-BRANCH-NAME:REMOTE-BRANCH-NAME
отправляется в , но при этом переименовывается в .
Обработка ошибок не быстрого перемещения вперед
Если локальная копия репозитория не синхронизирована с вышестоящим репозиторием, в который выполняется отправка, вы получите следующее сообщение: . В таком случае перед отправкой локальных изменений необходимо извлечь или "получить" изменения из вышестоящего репозитория.
Дополнительные сведения об этой ошибке см. в разделе AUTOTITLE.
Разрешение заблокированных фиксаций
Чтобы обеспечить безопасность репозитория, который вы отправляете, GitHubавтоматически защищает вас от случайного фиксации секретов в общедоступных репозиториях на GitHub.com. Открытые секреты могут представлять серьезные риски безопасности для репозитория и цепочки поставок. Если GitHub обнаруживает, что фиксация, которую вы пытаетесь отправить, содержит поддерживаемый секрет, он блокирует отправку. Чтобы устранить блок, необходимо выполнить следующие действия.
- Удалите секрет из фиксаций. Дополнительные сведения см. в разделе "Разрешение заблокированной отправки".
- Следуйте предоставленному URL-адресу , чтобы просмотреть параметры, чтобы разрешить отправку. Дополнительные сведения см. в разделе об обходе защиты push-уведомлений
Дополнительные сведения о защите push-уведомлений см. в разделе AUTOTITLE.
Отправка тегов
По умолчанию команда без дополнительных параметров отправляет все ветви, имена которых соответствуют именам удаленных ветвей.
Чтобы отправить отдельный тег, можно использовать ту же команду, что и для отправки ветви:
git push REMOTE-NAME TAG-NAME
Чтобы отправить все теги, можно ввести следующую команду:
git push REMOTE-NAME --tags
Удаление удаленных ветви или тега
На первый взгляд синтаксис удаления ветви может показаться непонятным:
git push REMOTE-NAME :BRANCH-NAME
Обратите внимание на пробел, стоящий перед двоеточием. Эта команда напоминает ту, которая используется для переименования ветви. Тем не менее, она указывает Git выполнить пустую отправку в ветвь в репозитории . Таким образом, команда удаляет ветвь в удаленном репозитории.
Удаленные репозитории и вилки
Возможно, вы уже знаете, что вы можете «форкать» репозитории на #REF!.
При клонировании собственного репозитория вы предоставляете ему удаленный URL-адрес, который Git использует для получения и отправки обновлений. Для совместной работы с исходным репозиторием следует добавить в локальный клон Git новый удаленный URL-адрес (обычно называется ):
git remote add upstream THEIR_REMOTE_URL
Теперь вы можете получать обновления и ветви из их вилки:
git fetch upstream
# Grab the upstream remote's branches
> remote: Counting objects: 75, done.
> remote: Compressing objects: 100% (53/53), done.
> remote: Total 62 (delta 27), reused 44 (delta 9)
> Unpacking objects: 100% (62/62), done.
> From https://github.com/OCTOCAT/REPO
> * [new branch] main -> upstream/main
Когда закончите с локальными изменениями, вы можете отправить локальную ветку в #REF! и инициировать pull request.
Дополнительные сведения о работе с вилками см. в разделе AUTOTITLE.
Дополнительные материалы
- Глава "Удаленные репозитории" из книги "Pro Git"
- Главная страница
- AUTOTITLE
- AUTOTITLE
- Справочник по Git
- AUTOTITLE