Junior
Kaip atšaukti paskutinį commit versijų valdymo sistemoje?
sobes.tech AI
Atsakymas iš AI
Naudojant Git, yra keletas būdų:
1. Paskutinio įsipareigojimo atšaukimas, išsaugant pakeitimus:
git reset --soft HEAD~1
# Paskutinio įsipareigojimo atšaukimas, indeksuoti pakeitimai lieka
# Darbo katalogas nepasikeičia
2. Paskutinio įsipareigojimo atšaukimas, atšaukiant indeksuotus pakeitimus, bet išsaugant darbo pakeitimus:
git reset --mixed HEAD~1
# Paskutinio įsipareigojimo atšaukimas ir indeksavimo pakeitimų pašalinimas
# Darbo katalogas nepasikeičia
3. Visapusiškas paskutinio įsipareigojimo atšaukimas, įskaitant pakeitimus:
git reset --hard HEAD~1
# Visapusiškas paskutinio įsipareigojimo atšaukimas
# Indeksuoti pakeitimai ir darbo katalogas grįš į būseną prieš paskutinį įsipareigojimą
# Visi neišsaugoti pakeitimai darbo kataloge bus prarasti
4. Sukurti naują įsipareigojimą, kuris atšaukia paskutinio pakeitimus:
git revert HEAD
# Sukuria naują įsipareigojimą, kuris atšaukia paskutinio įsipareigojimo pakeitimus
# Istorija išlieka, tai saugus būdas dirbti su viešomis šakomis
Pasirinkimas priklauso nuo norimo rezultato ir ar šaka buvo paskelbta. --hard turi būti naudojamas atsargiai, nes gali sukelti duomenų praradimą. git revert yra pageidautinas, kai dirbate su kitų kūrėjų naudojamomis šakomis.