Топы
Каковы отличия между git pull и git fetch?
Выберите все подходящие ответы
git fetch только скачивает новые коммиты и обновляет удалённые отслеживаемые ветки, не трогая вашу текущую ветку и файлы.
git pull выполняет fetch, а затем сразу же пытается влить скачанные изменения в текущую ветку командой merge или rebase, из-за чего она тут же меняется и могут возникнуть конфликты.
Концептуально git pull эквивалентен связке: сначала git fetch, затем git merge (или git rebase, если так настроен Git).
git fetch подключается к удалённому репозиторию, скачивает новые коммиты, теги и обновления веток и записывает их в удалённые ветки вида origin/main, но не меняет вашу текущую ветку и рабочие файлы.
После git fetch вы можете посмотреть различия и осознанно решить, как влить изменения: через merge, rebase или точечно с помощью cherry-pick.
git pull делает тот же fetch, но сразу выполняет merge или rebase текущей ветки с её удалённым аналогом, изменяя историю и содержимое рабочего дерева.
На практике часто рекомендуют: если хотите сначала понять, что изменилось на сервере, — используйте git fetch, а когда нужно быстро подтянуть обновления и вы готовы сразу разруливать возможные конфликты, — используйте git pull (часто с флагом --rebase).
Отметьте свой прогресс