В чем разница между 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 — работа с удалёнными репозиториями