← Все вопросы

Чем git fetch отличается от git pull?

Задан 7 месяцев назад902 просмотров3 ответа
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-коммит.

Ваш ответ

Войдите, чтобы ответить на вопрос.
Поддержать проект