Sobes.tech
Junior — Middle

Puteți explica ce face comanda Git reset și în ce scenarii este utilizată?

sobes.tech AI

Răspuns de la AI

Comanda git reset este utilizată pentru a anula modificările și a muta indicatorul ramurii curente (HEAD) către un alt commit. Poate modifica starea indexului (zona de staging) și a directorului de lucru în funcție de parametri.

Opțiuni principale:

  • git reset --soft <commit> — mută HEAD către commit-ul specificat, lăsând modificările în index și în directorul de lucru. Folosit pentru a anula commit-uri, păstrând modificările pentru un nou commit.

  • git reset --mixed <commit> (implicit) — mută HEAD și resetează indexul, dar modificările rămân în directorul de lucru. Permite anularea commit-urilor și eliminarea modificărilor din index.

  • git reset --hard <commit> — mută HEAD, resetează indexul și directorul de lucru, ștergând complet toate modificările după commit-ul specificat.

Scenarii de utilizare:

  • Anularea ultimelor commit-uri.
  • Eliminarea modificărilor din index.
  • Revenirii complete la starea anterioară.

Exemplu:

git reset --hard HEAD~1  # revenire cu un commit în urmă cu eliminarea modificărilor