PassFront
  1. PassFront
  2. База знаний
  3. Основы Git

В чем разница между git pull и git fetch?

Основы Git

`git fetch` скачивает новые коммиты с удалённого репозитория, но не меняет ваши ветки. `git pull` — это fetch плюс слияние (или rebase) в текущую ветку.

git fetch

git fetch origin
git log main..origin/main   # что пришло нового
  • Обновляет только удалённые ссылки (origin/main).
  • Безопасен: рабочая копия и локальные ветки не трогаются.
  • Удобен, чтобы сначала посмотреть изменения, а потом решить, как их принять.

git pull

git pull            # fetch + merge
git pull --rebase   # fetch + rebase
  • Сразу вносит изменения в текущую ветку.
  • Может привести к merge-коммиту или конфликтам.

Коротко для собеседования

fetch — только скачать и посмотреть, pull — скачать и сразу влить в текущую ветку.

Подробнее: Pro Git — работа с удалёнными репозиториями

Другие вопросы раздела