Objašnjeno povlačenje

git pull je Git naredba koja se koristi za ažuriranje lokalne verzije spremišta s daljinskog upravljača.

To je jedna od četiri naredbe koja od Gita potiče interakciju s mrežom. Prema zadanim postavkama git pullradi dvije stvari.

  1. Ažurira trenutnu lokalnu radnu granu (trenutno odjavljena grana)
  2. Ažurira grane udaljenog praćenja za sve ostale grane.

git pulldohvaća ( git fetch) nove obveze i spaja ih ( git merge) u vašu lokalnu podružnicu.

Sintaksa ove naredbe je sljedeća:

# General format git pull OPTIONS REPOSITORY REFSPEC # Pull from specific branch git pull REMOTE-NAME BRANCH-NAME

u kojem:

  • OPTIONS su naredbene opcije, poput--quietili--verbose. Više o različitim opcijama možete pročitati u Git dokumentaciji
  • REPOSITORY je URL vašeg repo-a. Primjer: //github.com/freeCodeCamp/freeCodeCamp.git
  • REFSPEC određuje koje reference se dohvaćaju, a koje lokalne preporučuju za ažuriranje
  • REMOTE-NAME je naziv vašeg udaljenog spremišta. Na primjer: podrijetlo .
  • IME PODRUŽNICE naziv je vaše podružnice. Na primjer: razviti .

Bilješka

Ako imate neprihvaćene promjene, dio git pullnaredbe za spajanje neće uspjeti i vaša će lokalna grana biti netaknuta.

Prema tome, uvijek biste trebali izvršiti promjene u grani prije povlačenja novih predavanja iz udaljenog spremišta.

Sadržaj

  • Koristeći git pull
  • Distribuirana kontrola verzija
  • git fetch + git merge
  • git pull u IDE-ima

Korištenjem git pull-a

Koristite git pullza ažuriranje lokalnog spremišta iz odgovarajućeg udaljenog spremišta. Primjer: Dok lokalno radite master, izvršite git pullda biste ažurirali lokalnu kopiju masteri ažurirali ostale grane udaljenog praćenja. (Više informacija o granama za daljinsko praćenje u sljedećem odjeljku.)

No, imajte na umu nekoliko stvari da bi taj primjer bio istinit:

Lokalno spremište ima povezano udaljeno spremište

  • Provjeri to izvršavanjem git remote -v
  • Ako postoji više daljinskih upravljača, git pullmožda neće biti dovoljno podataka. Možda ćete trebati unijeti git pull originili git pull upstream.

Grana u koju ste trenutno odjavljeni ima odgovarajuću granu za daljinsko praćenje

  • Provjeri to izvršavanjem git status. Ako nema daljinski praćenje grana, Git ne zna gdje povući podatke iz .

Distribuirana kontrola verzija

Git je Distribuirani sustav kontrole verzija (DVCS). Uz DVCS, programeri mogu istovremeno raditi na istoj datoteci u odvojenim okruženjima. Nakon guranja koda do zajedničkog udaljenog spremišta, drugi programeri mogu povući promijenjeni kôd.

Mrežne interakcije u Gitu

Postoje samo četiri naredbe koje potiču mrežne interakcije u Gitu. Lokalno spremište nije svjesno promjena napravljenih na udaljenom spremištu sve dok ne bude zatražen podatak. I, udaljeno spremište nema svijesti o lokalnim promjenama dok se ne guraju komitovi.

Četiri mrežne naredbe su:

  • git clone
  • git fetch
  • git pull
  • git push

Podružnice u DVCS-u

Kada radite s Gitom, može se osjećati kao da puno kopija istog koda pluta svugdje. Na svakoj grani postoje različite verzije iste datoteke. I, različite kopije istih grana na računalu svakog programera i na daljinskom upravljaču. Da bi to pratio, Git koristi nešto što se naziva grane za daljinsko praćenje .

Ako izvršavate git branch --allunutar Git spremišta, grane udaljenog praćenja pojavljuju se crveno. To su kopije samo za čitanje koda kakav se pojavljuje na daljinskom upravljaču. (Kada je posljednja mrežna interakcija koja bi lokalno donosila informacije? Sjetite se kada su zadnji put ažurirane. Informacije u granama udaljenog praćenja odražavaju informacije iz te interakcije.)

S granama za daljinsko praćenje možete raditi u Gitu na nekoliko grana bez interakcije s mrežom. Svaki put kada izvršite git pullili git fetchnaredite, ažurirate grane udaljenog praćenja .

git fetch plus git merge

git pullje kombinacijska naredba, jednaka git fetch+ git merge.

git fetch

Samostalno git fetchažurira sve grane udaljenog praćenja u lokalnom spremištu. Nikakve promjene se zapravo ne odražavaju ni na jednom lokalnom radnom ogranku.

git spajanje

Bez ikakvih argumenata, git mergespojit će odgovarajuću granu udaljenog praćenja u lokalnu radnu granu.

git pull

git fetchažurira grane za daljinsko praćenje. git mergeažurira trenutnu granu s odgovarajućom granom za daljinsko praćenje. Korištenjem git pulldobivate oba dijela ovih ažuriranja. Ali, to znači da ako se odjavite iz featurepodružnice i izvršite git pull, kada se odjavite master, nova ažuriranja neće biti uključena. Kad god se prijavite u drugu poslovnicu koja može imati nove promjene, uvijek je dobro izvršiti git pull.

git pull u IDE-ima

Uobičajeni jezik u drugim IDES-ima možda ne uključuje riječ pull. Ako git pullpazite na riječi, ali ih ne vidite, potražite riječ syncumjesto nje.

dohvaćanje udaljenog PR-a (zahtjev za povlačenjem) u lokalni repo

U svrhu pregledavanja i slično, PR-ove u daljini treba dohvatiti u lokalni repo. Da biste git fetchto postigli, možete koristiti naredbu kako slijedi.

git fetch origin pull/ID/head:BRANCHNAME

ID je ID zahtjeva za povlačenje, a BRANCHNAME je naziv grane koju želite stvoriti. Jednom kada je grana stvorena, možete se koristiti git checkoutza prelazak na tu granu.

Ostali resursi o gitu u guide.freecodecamp.org

  • Spajanje Gita
  • Git naplata
  • Git počiniti
  • Git skrivanje
  • Git grana