Ce face git pull
Comanda git pull este o scurtătură automată pentru două comenzi consecutive: rulează mai întâi git fetch (pentru a descărca commit-urile noi), urmat imediat de git merge (pentru a îmbina acele modificări în ramura pe care lucrezi).
Opțiunea --rebase este foarte recomandată în echipe, deoarece reaplică modificările tale locale peste noile commit-uri venite de pe server, evitând crearea de merge commit-uri redundante de tipul „Merge branch ‘main’ of github.com”.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
--rebase |
Integrează noile commit-uri prin rebase în loc de merge, păstrând un istoric curat și liniar. |
--ff-only |
Refuză sincronizarea dacă nu este posibil un Fast-Forward simplu (previne crearea automată de commit-uri de îmbinare). |
--autostash |
Salvează automat modificările locale nesalvate cu stash înainte de pull și le reaplică la final. |
Exemple
Exemplul 1: Actualizarea ramurii principale prin rebase
Comanda recomandată zilnic pentru a începe lucrul cu cel mai recent cod.
git pull --rebase origin main
Ieșire în terminal
From https://github.com/dexter/proiect
* branch main -> FETCH_HEAD
Successfully rebased and updated refs/heads/main.
Greșeli frecvente
- Rularea
git pullcând ai fișiere modificate nesalvate în directorul de lucru: comanda se va opri cu eroare dacă modificările tale se intersectează cu cele descărcate. Fă un commit sau ungit stashînainte de pull.
Comenzi înrudite
git fetch: Descarcă cele mai noi commit-uri și ramuri de pe serverul la distanță fără a modifica fișierele locale.git push: Încarcă commit-urile locale pe serverul de la distanță (remote) pentru a fi partajate cu echipa.git merge: Îmbină istoricul și modificările dintr-o altă ramură în ramura curentă.git rebase: Reaplică commit-urile din ramura curentă peste o altă ramură, creând un istoric perfect liniar.