Sobes.tech
Junior — Middle

El tudná magyarázni, mit csinál a Git reset parancs, és milyen helyzetekben használják?

sobes.tech MI

Válasz az MI-től

A git reset parancsot arra használják, hogy visszavonja a változtatásokat, és a jelenlegi ág (HEAD) mutatóját egy másik commitra helyezze. A paraméterektől függően módosíthatja a index (staging area) és a munkakönyvtár állapotát.

Főbb lehetőségek:

  • git reset --soft <commit> — a HEAD-et a megadott commitra mozgatja, a változtatásokat az indexben és a munkakönyvtárban hagyja. Használható commitok visszavonására, miközben a változtatásokat újra commitálásra tartja meg.

  • git reset --mixed <commit> (alapértelmezett) — a HEAD-et mozgatja, és reseteli az indexet, de a változtatások a munkakönyvtárban maradnak. Lehetővé teszi commitok visszavonását és a változtatások eltávolítását az indexből.

  • git reset --hard <commit> — a HEAD-et mozgatja, reseteli az indexet és a munkakönyvtárat, teljesen törölve minden változtatást a megadott commit után.

Használati forgatókönyvek:

  • Utolsó commitok visszavonása.
  • Változtatások eltávolítása az indexből.
  • Teljes visszaállás az előző állapotra.

Példa:

git reset --hard HEAD~1  # egy committal vissza, a változtatásokat törölve