Cum să actualizezi repository-ul cu git pull — Ghid complet
In this tutorial, you'll learn about Cum să actualizezi repository. We cover key concepts, practical examples, and best practices.
În acest ghid vei învăța cum să folosești git pull, diferența dintre pull și fetch, și opțiunea --rebase pentru a integra modificările remote fără a polua istoricul.
The Problem
git pull combină două operații — fetch și merge — ceea ce poate crea commit-uri de merge inutile. Înțelegerea diferenței dintre pull și fetch te ajută să controlezi cum integrezi schimbările remote.
The Wrong Way
git pull
# Apare un merge commit inutil în istoric
git pull implicit face merge, creând un commit de fuzionare chiar și când nu este necesar, poluând istoricul.
The Right Way
# Pull cu rebase în loc de merge
git pull --rebase
# Fetch + log + rebase manual (control total)
git fetch origin
git log --oneline HEAD..origin/main
git rebase origin/main
# Configurează rebase ca implicit
git config --global pull.rebase true
Step-by-Step Fix
1. Pull cu rebase (--rebase)
Înlocuiește merge-ul implicit cu rebase, creând un istoric linear:
git pull --rebase
Output:
Successfully rebased and updated refs/heads/main.
2. Pull cu merge (comportament implicit)
git pull
# sau explicit
git pull --no-rebase
3. Fetch + manual merge/rebase
Separă operațiile pentru control total:
# Pas 1: descarcă modificările
git fetch origin
# Pas 2: vezi diferențele
git log --oneline HEAD..origin/main
# Pas 3: alege cum integrezi
git merge origin/main # sau
git rebase origin/main
4. Pull cu fast-forward doar (--ff-only)
Pull-ul eșuează dacă nu poate face fast-forward:
git pull --ff-only
5. Configurează pull.rebase global
git config --global pull.rebase true
git config --global rebase.autoStash true
Prevention Tips
- Folosește
git pull --rebaseîn loc de pull implicit - Separă fetch de merge/rebase pentru proiecte critice
- Configurază pull.rebase = true global
- Verifică
git statusînainte de pull - Stash-uiește modificările înainte de pull cu
git stash push
Common Mistakes
- Confuzia între pull și fetch — pull face și merge, fetch doar descarcă
- Pull fără a face stash la modificările locale — poate cauza conflicte
- Merge commit-uri inutile din pull implicit — poluează istoricul
- Pull pe un branch diferit — verifică întotdeauna branch-ul curent
Aceste greșeli apar frecvent în lucrul cu Git. Contribuitorii DodaTech le-au identificat prin analiza proiectelor open-source și a sistemelor de producție.
Practice Exercise
Exercițiu: Clonează un repository cu --depth 1, apoi folosește git fetch origin urmat de git log --oneline HEAD..origin/main și git pull --rebase pentru a înțelege fluxul complet.
FAQ
Construit de dezvoltatorii Doda Browser, DodaZIP și Durga Antivirus Pro. Uneltele DodaTech se integrează perfect cu Git pentru productivitate și securitate sporite.
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro