Использование команд git fetch и git push перед выполнением git pull рекомендуется, потому что они выполняют разные задачи. 12
Команда git fetch забирает данные в локальный репозиторий, но не сливает их с какими-либо наработками и не модифицирует то, над чем пользователь работает в данный момент. 1 Она обновляет только ссылочные объекты (указатели, ветки и теги) и скачивает все необходимые файлы в директорию .git/objects. 2
Команда git push загружает изменения в удалённый репозиторий. 2 По умолчанию она отправляет изменения в ветку с таким же именем на сервере, а если её нет, создаёт её. 3
Команда git pull используется для синхронизации локальной рабочей копии и всех ссылочных объектов с удалённым репозиторием. 2 Она извлекает данные с сервера, с которого пользователь изначально клонировал репозиторий, и автоматически пытается слить их с кодом, над которым пользователь в данный момент работает. 1