Sobes.tech
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.