Ce face git revert
Spre deosebire de git reset (care rescrie și șterge istoricul), git revert este o operațiune complet sigură pentru depozite comune și servere de producție.
Ea analizează modificările introduse de un anumit commit și creează un commit NOU care face exact operațiunile inverse (șterge liniile care fuseseră adăugate și readuce liniile care fuseseră șterse). Istoricul rămâne intact și transparent.
Opțiuni și argumente
| Opțiune / Parametru | Descriere |
|---|---|
commit |
Identificatorul SHA-1 sau eticheta commit-ului pe care vrei să îl anulezi. |
--no-commit, -n |
Aplică modificările inverse direct în staging fără a genera automat un commit nou. |
--abort |
Anulează operațiunea în caz de conflicte și revine la starea anterioară. |
Exemple
Exemplul 1: Anularea în siguranță a unui commit defect
Creăm un commit invers care neutralizează modificarea fără a rescrie istoricul.
git init -b main demo_rev >/dev/null
cd demo_rev
git config user.name "Test" && git config user.email "test@exemplu.ro"
echo "stabil" > app.txt && git add app.txt && git commit -m "versiune stabila" >/dev/null
echo "bug critic" >> app.txt && git add app.txt && git commit -m "adauga bug" >/dev/null
git revert --no-edit HEAD >/dev/null
cat app.txt
Rezultat
stabil
Greșeli frecvente
- Confuzia între
revertșireset: foloseșteresetdoar pentru commit-uri locale private șirevertpentru orice modificare care a fost deja trimisă pe server.
Comenzi înrudite
git reset: Mută indicatorul ramurii curente (HEAD) la un commit anterior și ajustează staging-ul sau fișierele locale.git commit: Înregistrează un nou instantaneu permanent al fișierelor din staging în istoricul depozitului.git restore: Restaurează fișierele din directorul de lucru sau scoate modificările din zona de staging.