Sobes.tech
Junior

Ako zrušiť posledný commit v systéme správy verzií?

sobes.tech AI

Odpoveď od AI

Pri používaní Git existuje niekoľko spôsobov:

1. Zrušiť posledný commit, pričom zachováte zmeny:

git reset --soft HEAD~1
# Zruší posledný commit, indexované zmeny zostávajú
# Pracovný adresár sa nemení

2. Zrušiť posledný commit, zrušiť indexované zmeny, ale zachovať pracovné zmeny:

git reset --mixed HEAD~1
# Zruší posledný commit a odstráni indexovanie zmien
# Pracovný adresár sa nemení

3. Kompletné zrušenie posledného commitu vrátane zmien:

git reset --hard HEAD~1
# Kompletné zrušenie posledného commitu
# Indexované zmeny a pracovný adresár sa vrátia do stavu pred posledným commitom
# Všetky neuložené zmeny v pracovnom adresári budú stratené

4. Vytvorenie nového commitu, ktorý zruší zmeny posledného:

git revert HEAD
# Vytvorí nový commit, ktorý zruší zmeny posledného commitu
# História zostáva zachovaná, je to bezpečný spôsob pri práci s verejnými vetvami

Výber závisí od požadovaného výsledku a či bola vetva publikovaná. --hard by sa mal používať opatrne, pretože môže viesť ku strate dát. git revert je preferovaný pri práci s vetvami, ktoré používajú iní vývojári.