Выгрузка веток (push)
Что такое git push?
git push
– это команда в Git, которая используется для отправки (загрузки) изменений из вашего локального репозитория в удалённый репозиторий. Эта команда передаёт ваши коммиты, сделанные в локальной ветке, в соответствующую ветку удалённого репозитория.
Основные характеристики
- Синхронизация с удалённым репозиторием:
git push
используется для публикации локальных изменений в репозитории, доступном другим разработчикам. - Отправка коммитов: Передаёт все локальные коммиты в удалённый репозиторий.
- Обновление удалённых веток: Обновляет указанные удалённые ветки, синхронизируя их с локальными.
Синтаксис
git push <удалённый-репозиторий> <ветка>
<удалённый-репозиторий>
– имя удалённого репозитория (например,origin
).<ветка>
– имя ветки, которую вы хотите отправить.
Пример использования
-
Обычное использование:
git push origin main
Эта команда отправляет изменения из локальной ветки
main
в удалённый репозиторийorigin
. -
Отправка всех веток:
git push --all origin
Эта команда отправляет все локальные ветки в удалённый репозиторий
origin
. -
Отправка тегов:
git push origin --tags
Эта команда отправляет все локальные теги в удалённый репозиторий
origin
.
Полезные флаги и опции
-
--force
: Принудительно отправляет изменения, перезаписывая историю коммитов в удалённой ветке. Используйте с осторожностью, так как это может привести к потере данных.git push --force origin main
-
--set-upstream
или-u
: Устанавливает отслеживание удалённой ветки для текущей локальной ветки.git push -u origin main
-
--delete
: Удаляет указанную ветку в удалённом репозитории.git push origin --delete feature-branch
Примечание
-
Предварительный
git pull
: Перед выполнениемgit push
рекомендуется выполнитьgit pull
, чтобы синхронизировать локальный репозиторий с удалённым и избежать конфликтов.git pull origin main
-
Конфликты: Если удалённая ветка обновлялась другими разработчиками, вы можете столкнуться с конфликтами, которые нужно разрешить перед выполнением
git push
.
Пример работы с конфликтами
-
Выполните
git pull
для синхронизации с удалённым репозиторием:git pull origin main
-
Разрешите конфликты, если они возникнут, и добавьте изменённые файлы:
git add <файл-с-конфликтом>
-
Сделайте коммит после разрешения конфликтов:
git commit
-
Повторите
git push
:git push origin main