Sobes.tech
Junior

Kuidas tühistada viimane commit versioonihaldussüsteemis?

sobes.tech AI

Vastus AI-lt

Kui kasutate Git-i, on mitu võimalust:

1. Viimase commit-i tühistamine, säilitades muudatused:

git reset --soft HEAD~1
# Tühistab viimase commit-i, indeksitud muudatused jäävad alles
# Töökaust ei muutu

2. Viimase commit-i tühistamine, indeksitud muudatused tühistada, kuid töö muudatused säilitada:

git reset --mixed HEAD~1
# Tühistab viimase commit-i ja eemaldab muudatuste indekseerimise
# Töökaust ei muutu

3. Täielik viimase commit-i tühistamine, kaasa arvatud muudatused:

git reset --hard HEAD~1
# Täielik viimase commit-i tühistamine
# Indeksitud muudatused ja töökaust naasevad enne viimast commit-i olekusse
# Kõik salvestamata muudatused töökaustas kaovad

4. Uue commit-i loomine, mis tühistab viimase muudatused:

git revert HEAD
# Loob uue commit-i, mis tühistab viimase commit-i muudatused
# Ajalugu säilib, see on turvaline viis avalike harude töötamisel

Valik sõltub soovitud tulemusest ja sellest, kas haru on avaldatud. --hard tuleks kasutada ettevaatusega, kuna see võib põhjustada andmekao. git revert on eelistatud, kui töötate teiste arendajate kasutatavate harudega.