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 pull
radi dvije stvari.
- Ažurira trenutnu lokalnu radnu granu (trenutno odjavljena grana)
- Ažurira grane udaljenog praćenja za sve ostale grane.
git pull
dohvać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
--quiet
ili--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 pull
naredbe 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 pull
za ažuriranje lokalnog spremišta iz odgovarajućeg udaljenog spremišta. Primjer: Dok lokalno radite master
, izvršite git pull
da biste ažurirali lokalnu kopiju master
i 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 pull
možda neće biti dovoljno podataka. Možda ćete trebati unijetigit pull origin
iligit 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 --all
unutar 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 pull
ili git fetch
naredite, ažurirate grane udaljenog praćenja .
git fetch plus git merge
git pull
je kombinacijska naredba, jednaka git fetch
+ git merge
.
git fetch
Samostalno git fetch
až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 merge
spojit će odgovarajuću granu udaljenog praćenja u lokalnu radnu granu.
git pull
git fetch
ažurira grane za daljinsko praćenje. git merge
ažurira trenutnu granu s odgovarajućom granom za daljinsko praćenje. Korištenjem git pull
dobivate oba dijela ovih ažuriranja. Ali, to znači da ako se odjavite iz feature
podruž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 pull
pazite na riječi, ali ih ne vidite, potražite riječ sync
umjesto 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 fetch
to 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 checkout
za prelazak na tu granu.
Ostali resursi o gitu u guide.freecodecamp.org
- Spajanje Gita
- Git naplata
- Git počiniti
- Git skrivanje
- Git grana