Git Fetch vs Pull: Hvad er forskellen mellem Git Fetch og Git Pull-kommandoer?

Git pullog fetcher to kommandoer, der regelmæssigt bruges af Git-brugere. Lad os se forskellen mellem begge kommandoer.

Af hensyn til konteksten er det værd at huske, at vi sandsynligvis arbejder i en klonrepa. Hvad er en klon? Det er simpelthen en kopi af et andet lager. Det er grundlæggende at få din egen kopi af en andens kildekode.

Når det er sagt, for at holde din klon opdateret med de ændringer, der måtte være anvendt på originalen, skal du bringe dem til din klon.

Det er her fetchog pullkom ind.

git fetch er kommandoen, der fortæller din lokale git at hente de nyeste metadataoplysninger fra originalen (men alligevel foretager ikke nogen filoverførsel. Det er mere som bare at kontrollere, om der er nogen ændringer tilgængelige).

git pull på den anden side bringer OG det (kopierer) disse ændringer fra det eksterne lager.

For eksempel:

git pull origin ankur bugfix

Takeaway er at huske på, at der generelt er mindst tre kopier af et projekt på din arbejdsstation.

  • Én kopi er dit eget arkiv med din egen forpligtelseshistorik (den allerede gemte, så at sige).
  • Den anden kopi er din arbejdskopi, hvor du redigerer og bygger (endnu ikke forpligtet til din repo).
  • Den tredje kopi er din lokale "cachelagrede" kopi af et eksternt lager (sandsynligvis originalen, hvorfra du klonede din).

Du kan bruge git fetchtil at kende de ændringer, der er foretaget i den eksterne repo / gren siden din sidste træk. Dette er nyttigt for at muliggøre kontrol, før du foretager et faktisk træk, hvilket kan ændre filer i din nuværende gren og arbejdskopi (og potentielt miste dine ændringer osv.).

git fetch git diff ...origin