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ă.