При работе с Git часто используются следующие команды:

  • git remote update
  • git fetch
  • git pull

В чём же их различие между собой?

git remote update обновляет данные из удалённого репозитория по всем локальным бранчам. При этом локальные бранчи никак не обновляются и не меняются

git fetch обновит данные только по текущему бранчу. Эта команда не вмержит новые изменения, если таковые были в репозитории, в локальный бранч, то есть локальный бранч не изменит свою историю

git pull обновит данные по локальному бранчу и вмержит изменения из репозитория, если таковые имеются. По эффекту это равносильно выполнению двух команд: git fetch + git merge

В чём разница между ‘git remote update’, ‘git fetch’ и ‘git pull’