Git Fetch vs Pull: Hva er forskjellen mellom Git Fetch og Git Pull-kommandoer?

Git pullog fetcher to kommandoer som brukes regelmessig av Git-brukere. La oss se forskjellen mellom begge kommandoene.

For kontekstens skyld er det verdt å huske at vi sannsynligvis jobber i en klonrepos. Hva er en klon? Det er rett og slett et duplikat av et annet depot. Det er i utgangspunktet å få din egen kopi av andres kildekode.

Når det er sagt, for å holde klonen oppdatert med de endringene som måtte ha blitt brukt på originalen, må du bringe dem til klonen din.

Det er der fetchog pullkom inn.

git fetch er kommandoen som forteller din lokale git å hente den siste metadatainformasjonen fra originalen (men gjør ikke filoverføring. Det er mer som å bare sjekke om det er noen endringer tilgjengelig).

git pull på den annen side gjør det OG bringer (kopierer) disse endringene fra det eksterne depotet.

For eksempel:

git pull origin ankur bugfix

Takeaway er å huske på at det vanligvis er minst tre eksemplarer av et prosjekt på arbeidsstasjonen din.

  • Én kopi er ditt eget depot med din egen forpliktelseshistorikk (den allerede lagrede, for å si det).
  • Den andre kopien er arbeidskopien din der du redigerer og bygger (ikke forpliktet til repoen din ennå).
  • Den tredje kopien er din lokale "hurtigbufrede" kopi av et eksternt lager (sannsynligvis originalen der du klonet din).

Du kan bruke git fetchtil å kjenne til endringene som er gjort i den eksterne repoen / grenen siden ditt siste trekk. Dette er nyttig for å tillate kontroll før du gjør en faktisk pull, noe som kan endre filer i din nåværende filial og arbeidskopi (og potensielt miste endringene osv.).

git fetch git diff ...origin