Команды Git

git pull

git pull: забрать изменения из удалённого репозитория.

Команда git pull получает изменения из удалённого репозитория и сразу обновляет локальный репозиторий. Простыми словами, git pull — это комбинация двух команд: git fetch и git merge.

Когда ты работаешь над проектом с другими разработчиками или просто с разных устройств, репозиторий может обновляться кем-то ещё. Команда git pull позволяет синхронизировать локальную копию репозитория с последними изменениями. Без этой команды в совместных проектах никуда: она помогает собрать все наработки воедино и разрешить возможные конфликты слияния.

Перед слиянием (merge) или ребейзом (rebase), git pull обновляет ветки удалённого отслеживания (например, origin/main). Так всегда можно посмотреть, что изменилось на сервере, прежде чем обновится локальная ветка.

Ребейз (rebase) вместо слияния (merge)

При запуске git pull Git выполняет слияние, чтобы добавить изменения из удалённого репозитория в локальную ветку. Но если передать флаг --rebase, Git сделает ребейз локальных правок поверх стянутых изменений вместо слияния. Это сохраняет историю коммитов чистой и избавляет от лишних коммитов слияния.

Можно сделать ребейз поведением по умолчанию для git pull, установив настройку pull.rebase в true:

git config --global pull.rebase true

Примеры

Стянуть последние изменения из удалённого репозитория в текущую ветку:

git pull

Стянуть обновления из main, находясь в другой ветке:

git pull origin main

Стянуть изменения и перебазировать текущую ветку поверх стянутой:

git pull --rebase

Сделать ребейз поведением по умолчанию для git pull:

git config pull.rebase true