Sobes.tech
Junior

Care este diferența dintre comenzile pull și fetch în Git?

sobes.tech AI

Răspuns de la AI

git fetch descarcă modificările dintr-un depozit remote, dar nu le aplică pe ramura curentă. git pull efectuează un git fetch, apoi unește automat (merge) modificările primite cu ramura curentă.

Diferențele cheie:

Comandă Acțiune Impact asupra copiei de lucru / ramură
git fetch Încarcă obiecte (commit-uri, fișiere) Nu modifică copia de lucru sau ramura curentă
git pull Încarcă obiecte și unește modificările Actualizează ramura curentă și copia de lucru

Exemplu de utilizare:

Pentru a vedea doar ce s-a schimbat pe serverul remote:

git fetch origin

(Poți verifica modificările cu git log origin/<ramură>)

Pentru a obține modificările și a le aplica automat pe ramura curentă:

git pull origin main # de exemplu

git pull este în esență echivalent cu executarea secvențială a git fetch și git merge sau git rebase (în funcție de setări).

# Echivalent cu git pull
git fetch origin
git merge origin/main # dacă ramura curentă este main și folosești merge ca strategie de unire

Utilizarea git fetch oferă un control mai mare, deoarece permite revizuirea modificărilor înainte de a le uni. git pull este convenabil pentru sincronizare rapidă.