Junior
Koja je razlika između komandi pull i fetch u Git-u?
sobes.tech АИ
Одговор од АИ
git fetch preuzima promene iz udaljenog repozitorijuma, ali ih ne primenjuje na trenutnu granu.
git pull izvršava git fetch, a zatim automatski spaja (merge) preuzete promene sa trenutnom granom.
Ključne razlike:
| Komanda | Akcija | Uticaj na radnu kopiju / granu |
|---|---|---|
git fetch |
Preuzima objekte (commit-ove, fajlove) | Ne menja radnu kopiju ili trenutnu granu |
git pull |
Preuzima objekte i spaja promene | Ažurira trenutnu granu i radnu kopiju |
Primer upotrebe:
Da biste samo videli šta se promenilo na udaljenom serveru:
git fetch origin
(Možete proveriti promene pomoću git log origin/<grana>)
Da biste preuzeli promene i automatski ih primenili na trenutnu granu:
git pull origin main # na primer
git pull je u suštini ekvivalentno izvršavanju sekvencijalno git fetch i git merge ili git rebase (u zavisnosti od podešavanja).
# Ekvivalentno `git pull`
git fetch origin
git merge origin/main # ako je trenutna grana main i koristite merge kao strategiju spajanja
Korišćenje git fetch pruža veću kontrolu, jer omogućava da pregledate dolazne promene pre spajanja. git pull je zgodan za brzu sinhronizaciju.