Sobes.tech
Junior — Middle

Môžete vysvetliť, čo robí príkaz Git reset a v akých scenároch sa používa?

sobes.tech AI

Odpoveď od AI

Príkaz git reset saťahuje zmeny späť a presunie ukazovateľ aktuálnej vetvy (HEAD) na iný commit. Môže meniť stav indexu (staging area) a pracovného adresára v závislosti od parametrov.

Hlavné možnosti:

  • git reset --soft <commit> — presunie HEAD na špecifikovaný commit, ponechá zmeny v indexe a pracovnom adresári. Používa sa na zrušenie commitov, pričom zachováva zmeny na ďalší commit.

  • git reset --mixed <commit> (predvolené) — presunie HEAD a resetuje index, ale zmeny zostávajú v pracovnom adresári. Umožňuje zrušiť commit a odstrániť zmeny z indexu.

  • git reset --hard <commit> — presunie HEAD, resetuje index a pracovný adresár, úplne odstráni všetky zmeny po špecifikovanom commite.

Scenáre použitia:

  • Zrušiť posledné commity.
  • Odstrániť zmeny z indexu.
  • Kompletný návrat k predchádzajúcemu stavu.

Príklad:

git reset --hard HEAD~1  # návrat o jeden commit späť s odstránením zmien