Junior
Kā atcelt pēdējo commit versiju kontroles sistēmā?
sobes.tech AI
Atbilde no AI
Ir vairākas veidi, kā atsaukt pēdējo commit, atkarībā no tā, vai tas ir nosūtīts uz attālo glabātuvi un kāds ir atsaukšanas mērķis.
-
Lokālā commit atsaukšana bez failu izmaiņām (soft reset):
git reset --soft HEAD~1 # Atgriež HEAD par vienu commit atpakaļ, izmaiņas paliek indeksā (staged). -
Lokālā commit atsaukšana, atstājot izmaiņas darba direktorijā (mixed reset - pēc noklusējuma):
git reset HEAD~1 # Atgriež HEAD par vienu commit atpakaļ. Izmaiņas paliek darba direktorijā (unstaged). -
Pilnīga lokālā commit atsaukšana, iekļaujot izmaiņu dzēšanu no darba direktorija un indeksa (hard reset):
git reset --hard HEAD~1 # Atgriež HEAD par vienu commit atpakaļ un dzēš visas vietējās izmaiņas. Uzmanību! Datu zudums. -
Jau nosūtīta commit atsaukšana uz attālo glabātuvi, izveidojot jaunu commit, kas atceļ iepriekšējo izmaiņas:
git revert HEAD # Izveido jaunu commit, kas apgriež pēdējā commit izmaiņas. Droši publiskām filiālēm.
Izvēle ir atkarīga no situācijas. Publiskām filiālēm ieteicams izmantot git revert, jo tas nemaina commit vēsturi. Vietējo izmaiņu vai vienkārši strādājošo filiāļu gadījumā var izmantot git reset.