Ar galite paaiškinti, ką daro Git reset komanda ir kokiuose scenarijuose ją naudoja?
sobes.tech AI
Atsakymas iš AI
git reset komanda naudojama pakeitimų atšaukimui ir dabartinės šakos (HEAD) rodyklės perkėlimui į kitą commit'ą. Ji gali keisti indekso (staging area) ir darbo katalogo būseną priklausomai nuo parametrų.
Pagrindinės parinktys:
-
git reset --soft <commit>— perkelia HEAD į nurodytą commit'ą, palikdama pakeitimus indekse ir darbo kataloge. Naudojama commit'ų atšaukimui, bet pakeitimai išsaugomi naujam commit'ui. -
git reset --mixed <commit>(numatyta) — perkelia HEAD ir atstatinėja indeksą, bet pakeitimai lieka darbo kataloge. Leidžia atšaukti commit'us ir pašalinti pakeitimus iš indekso. -
git reset --hard <commit>— perkelia HEAD, atstatinėja indeksą ir darbo katalogą, visiškai ištrindama visus pakeitimus po nurodyto commit'o.
Naudojimo scenarijai:
- Paskutinių commit'ų atšaukimas.
- Pakeitimų pašalinimas iš indekso.
- Pilnas grįžimas į ankstesnę būseną.
Pavyzdys:
git reset --hard HEAD~1 # grįžti vienu commit'u atgal ir ištrinti pakeitimus