Sobes.tech
Junior — Middle

Môžete uviesť a vysvetliť hlavné typy príkazu git reset?

sobes.tech AI

Odpoveď od AI

Príkaz git reset sa používa na zrušenie zmien a presunutie ukazovateľa HEAD v Git. Hlavné typy git reset sa líšia úrovňou vplyvu na index a pracovný adresár:

  1. git reset --soft <commit>

    • Presunie HEAD na zadaný commit.
    • Zmeny zostávajú v indexe a pracovnom adresári.
    • Používa sa, ak chcete zrušiť commity, ale zachovať zmeny na nový commit.
  2. git reset --mixed <commit> (predvolené)

    • Presunie HEAD na zadaný commit.
    • Zmeny sa odstránia z indexu (staged), ale zostávajú v pracovnom adresári.
    • Umožňuje zrušiť indexovanie zmien, bez ich odstránenia zo súborov.
  3. git reset --hard <commit>

    • Presunie HEAD na zadaný commit.
    • Resetuje index a pracovný adresár do stavu tohto commitu.
    • Všetky neuložené zmeny budú stratené.

Príklad:

# Zrušiť posledný commit, zachovať zmeny v indexe
git reset --soft HEAD~1

# Zrušiť posledný commit a odstrániť zmeny z indexu, ale nechať ich v súboroch
git reset --mixed HEAD~1

# Kompletné vrátenie posledného commitu a zmien
git reset --hard HEAD~1

Dôležité je používať --hard opatrne, aby ste neztratili dôležité údaje.