Sobes.tech
Back to questions
Junior — Middle
93

Как отличаются команды git pull и git fetch в процессе работы с репозиторием?

Companies where asked
OZONOZON

Answer from AI

sobes.tech AI

Команда git fetch загружает изменения из удалённого репозитория в локальный, но не сливает их с текущей веткой. Она обновляет только удалённые ветки (remote tracking branches), позволяя посмотреть изменения перед их интеграцией.

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

Пример:

# Получить изменения, но не сливать
git fetch origin

# Просмотреть изменения
git log HEAD..origin/main

# Слить изменения вручную
git merge origin/main

# Или сделать это одной командой
git pull origin main

Таким образом, git fetch даёт больше контроля, а git pull — удобство и скорость.