Git push - что это такое


Git push — это консольная команда, которая передаёт в удалённый репозиторий изменения, сделанные в локальном репозитории. С помощью этой консольной команды разработчики дорабатывают основную ветку, добавляя новые фичи и внося исправления найденных багов и уязвимостей. Это удобно и при работе в одиночку — можно хранить свой код в облаке.

Git

Теперь раскроем тему более подробно.

Что есть Git

Git-репозиторий — это набор файлов, которые хранятся в папке .git. Просто набор файлов, и ничего более.

Git сохраняет в commit (коммит) содержимое всех файлов, сохраняя изменения в objects. Если файл не менялся, используется старый objects. Получается, что в коммит попадают только те файлы, в которые вносились исправления. Это экономит место в хранилище, ускоряет процесс обновления и позволяет в любой момент переключиться на нужный коммит, так как все коммиты видны в истории изменений.

Благодаря Git разработчикам проще откатить свой проект на более старую версию, если что-то пошло не так. Также они могут сравнивать, анализировать или выгружать сделанные изменения в удалённый репозиторий.


Аренда облачного сервера для разработки, хостинга, обученияПодробнее






Git push и все-все-все

Итак, команда git push необходима для передачи содержимого локального репозитория в центральный, к которому имеют доступ другие разработчики из команды. С ней нужно быть осторожным, пушить в репозиторий стоит лишь в том случае, когда вы твёрдо уверены том, что готовы перезаписать основную ветку. В обратном порядке работает команда git fetch: она импортирует коммиты из основного репозитория в локальные.

Если упростить, то процесс отправки пушей выглядит так:

git push origin master

  • Действие: push, отправить
  • Адресат: origin, сервер
  • Объект: master, имя ветки

Как ещё можно использовать команду git push?

git remote add link

Начать нужно с организации связей между репозиториями. Эта команда связывает локальную и центральную ветки. Вместо repository_name указываете имя репозитория (как правило, это origin), а вместо link — URL-адрес. Только после этой команды ваш пуш будет уходить в нужную ветку.

git push  

Команда отправки на публикацию выбранной ветки в удалённый репозитории (включая все коммиты и внутренние объекты). При этом создаётся локальная ветка в конечном репозитории. В целях защиты коммитов от перезаписи Git не позволяет публиковать данные, если в конечном репозитории невозможно выполнить быстрое слияние веток.

git push  --force

Команда идентична приведённой выше с тем лишь отличием, что данные будут опубликованы в любом случае. Даже если ускоренное слияние выполнить невозможно. Используйте эту команду с осторожностью, так как принудительная перезапись способна удалить результат работы других людей.

git push  --all

Отправка всех локальных веток на публикацию в удалённом репозитории.

git branch -D branch_name или git push origin :branch_name

Чтобы навести порядок, репозитории иногда нужно чистить. Вы можете полностью стереть ветку branch_name в локальном репозитории при помощи первой команды. Или стереть удалённую ветку — введя в консоли вторую команду.

Git умеет и показывать незапушенные коммиты. Чтобы их посмотреть, введите команду

git status

В ответ на эту команду терминал выдаст ответ вроде такого:

On branch master

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

      (use "git push" to publish your local commits)

Это значит, что три коммита ещё не запушены, а предлагаемые в них изменения не внесены в репозиторий.

 

А что ещё можно делать с Git?

Удалять локальные данные и ветки, которых нет в центральном репозитории, добавлять и удалять теги на сервере, просматривать все удалённые репозитории, и каждый из них в отдельности. В Git есть большое количество инструментов, которые упрощают разработку и позволяют быстрее выкатывать конечный продукт. Чтобы увидеть весь перечень команд, поддерживаемых Git, введите в консоли команду

git push –help

Полезный материал?
2
2
автор: Всеволод
опубликовано: 13.01.2023
Читайте нас: 
Последние статьи
Вверх!