„Git Fetch“ ir „Pull“: Kuo skiriasi „Git Fetch“ ir „Git Pull“ komandos?

„Git“ pullir fetchyra dvi komandos, kurias reguliariai naudoja „Git“ vartotojai. Pažiūrėkime, koks skirtumas tarp abiejų komandų.

Dėl konteksto verta prisiminti, kad tikriausiai dirbame klonų repo. Kas yra klonas? Tai tiesiog kitos saugyklos kopija. Iš esmės tai yra jūsų paties kažkieno šaltinio kodo kopijos gavimas.

Be to, norėdami atnaujinti savo kloną su visais originalo pakeitimais, turėsite juos įtraukti į savo kloną.

Štai kur fetchir pullužeik.

git fetch yra komanda, liepianti vietiniam „git“ gauti naujausią metaduomenų informaciją iš originalo (tačiau failai neperduodami. Tai daugiau kaip tiesiog patikrinti, ar yra kokių nors pakeitimų).

git pull kita vertus, tai daro IR pateikia (nukopijuoja) tuos pakeitimus iš nuotolinės saugyklos.

Pavyzdžiui:

git pull origin ankur bugfix

Turėkite omenyje, kad jūsų darbo vietoje paprastai yra bent trys projekto kopijos.

  • Viena kopija yra jūsų saugykla, turinti savo įsipareigojimų istoriją (taip jau sakant, jau išsaugotą).
  • Antrasis egzempliorius yra jūsų darbo kopija, kurią redaguojate ir kuriate (dar neatlikta jūsų atpirkimo operacija).
  • Trečioji kopija yra jūsų vietinė „talpykloje saugoma“ nuotolinės talpyklos kopija (tikriausiai originalas iš ten, kur klonavote).

Galite naudoti git fetchnorėdami sužinoti apie pakeitimus, atliktus nuotoliniame atpirkimo / atšakos skyriuje nuo paskutinio traukimo. Tai naudinga, kad būtų galima patikrinti prieš atliekant faktinį traukimą, kuris gali pakeisti dabartinio filialo ir darbinės kopijos failus (ir galbūt prarasti pakeitimus ir kt.).

git fetch git diff ...origin