Ответ
git fetch загружает изменения из удаленного репозитория в ваш локальный репозиторий (в ветки вида origin/main), но не изменяет вашу текущую рабочую ветку или файлы. Это безопасная операция для просмотра новых коммитов.
git pull — это комбинация двух команд: git fetch + git merge. Она не только загружает изменения, но и автоматически сливает (merge) их с вашей текущей веткой, что может привести к конфликтам слияния.
Практическое использование:
# 1. Сначала проверяю, что пришло с сервера, без риска
$ git fetch origin
# Смотрю разницу между локальной веткой и origin
$ git log --oneline main..origin/main
# 2. Если изменения безопасны, сливаю их
$ git pull origin main
Я предпочитаю использовать fetch, а затем merge или rebase вручную, чтобы контролировать процесс интеграции изменений, особенно в командной работе.
Видео-ответы
▶
▶
▶
▶
▶