Git Fetch vs Pull: kāda ir atšķirība starp Git Fetch un Git Pull komandām?

Git pullun fetchir divas komandas, kuras regulāri izmanto Git lietotāji. Apskatīsim atšķirību starp abām komandām.

Konteksta labad ir vērts atcerēties, ka mēs, iespējams, strādājam klonu repo. Kas ir klons? Tas ir vienkārši citas krātuves dublikāts. Būtībā tas ir iegūt jūsu paša kāda cita avota koda kopiju.

Tas nozīmē, ka, lai jūsu klons tiktu atjaunināts ar jebkādām izmaiņām, kas, iespējams, tika piemērotas oriģinālam, jums tās būs jāpiesaista savam klonam.

Tur fetchun pullienāc.

git fetch ir komanda, kas liek vietējam gitam izgūt jaunāko metadatu informāciju no oriģināla (tomēr neveic failu pārsūtīšanu. Tas drīzāk ir tikai pārbaude, vai nav pieejamas kādas izmaiņas).

git pull no otras puses to dara UN atved (kopē) šīs izmaiņas no attālā krātuves.

Piemēram:

git pull origin ankur bugfix

Līdzņemšana ir jāpatur prātā, ka jūsu darbstacijā parasti ir vismaz trīs projekta kopijas.

  • Viena kopija ir jūsu pašu krātuve ar savu saistību vēsturi (tā teikt, jau saglabāto).
  • Otrā kopija ir jūsu darba eksemplārs, kurā jūs rediģējat un veidojat (vēl neesat veicis repo).
  • Trešā kopija ir jūsu attālā krātuves vietējā “kešatmiņā saglabātā” kopija (iespējams, oriģināls no vietas, kur jūs klonējāt savu).

Varat izmantot, git fetchlai uzzinātu izmaiņas, kas veiktas attālajā repo / filiālē kopš pēdējās vilkšanas. Tas ir noderīgi, lai varētu pārbaudīt pirms reāla izvilkšanas, kas varētu mainīt pašreizējā filiāles un darba kopijas failus (un, iespējams, zaudēt izmaiņas utt.).

git fetch git diff ...origin