git fetch загружает изменения из удаленного репозитория, но не применяет их к текущей ветке.
git pull выполняет git fetch, а затем автоматически сливает (merge) полученные изменения с текущей веткой.
Ключевые различия:
| Команда | Действие | Влияние на рабочую копию / ветку |
|---|---|---|
git fetch | Загружает объекты (коммиты, файлы) | Не изменяет рабочую копию или текущую ветку |
git pull | Загружает объекты и сливает изменения | Обновляет текущую ветку и рабочую копию |
Пример использования:
Чтобы просто посмотреть, что изменилось на удаленном сервере:
bash
(Проверить изменения можно с помощью git log origin/<ветка>)
Чтобы получить изменения и автоматически применить их к текущей ветке:
bash
git pull по сути эквивалентен последовательному выполнению git fetch и git merge или git rebase (в зависимости от настроек).
bash
Использование git fetch дает больше контроля, так как позволяет просмотреть входящие изменения перед слиянием. git pull удобен для быстрой синхронизации.