← Все вопросы
Чем git fetch отличается от git pull?
16
Везде советуют то fetch, то pull, и я не понимаю разницы. Оба же тянут что-то с сервера? Когда какой использовать?
3 ответа
24
fetch скачивает изменения с сервера, но НЕ трогает твою рабочую ветку — просто обновляет «знание» о remote. pull = fetch + merge: скачивает И сразу вливает в текущую ветку.
Грубо: pull — это fetch, после которого автоматически делается слияние. Поэтому fetch безопаснее — посмотрел что прилетело (git log HEAD..origin/main), решил, мерджить или нет.
9
git pull = git fetch + git merge.
6
Я почти всегда делаю fetch, потом смотрю git log origin/main, и только потом merge или rebase. pull вслепую иногда подкидывает неожиданный merge-коммит.
Ваш ответ
Войдите, чтобы ответить на вопрос.