Git Fetch срещу Pull: Каква е разликата между командите Git Fetch и Git Pull?

Git pullи fetchса две команди, които редовно се използват от потребителите на Git. Нека видим разликата между двете команди.

Заради контекста си струва да си припомним, че вероятно работим в клониран репо. Какво е клонинг? Това е просто дубликат на друго хранилище. Това е основно получаване на ваше собствено копие на чужд изходен код.

Въпреки това, за да поддържате клонинга си актуализиран с каквито и да е промени, приложени към оригинала, ще трябва да ги донесете в клонинга си.

Това е мястото fetchи pullвлезте.

git fetch е командата, която казва на вашия локален git да извлече най-новата информация за метаданни от оригинала (но не прави прехвърляне на файлове. Това е по-скоро просто да проверите дали има налични промени).

git pull от друга страна прави И И носи (копира) тези промени от отдалеченото хранилище.

Например:

git pull origin ankur bugfix

Вземането е да се има предвид, че обикновено на вашата работна станция има поне три копия на проект.

  • Едно копие е вашето собствено хранилище със собствена история на фиксиране (вече запазеното, така да се каже).
  • Второто копие е вашето работно копие, където редактирате и изграждате (все още не сте ангажирани с вашето репо).
  • Третото копие е вашето локално „кеширано“ копие на отдалечено хранилище (вероятно оригиналът от мястото, където сте клонирали вашето).

Можете да използвате, за git fetchда знаете промените, направени в отдалеченото репо / клон от последното ви изтегляне. Това е полезно, за да можете да проверите, преди да извършите действително изтегляне, което може да промени файловете в текущия ви клон и работното копие (и потенциално да загуби промените ви и т.н.).

git fetch git diff ...origin