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.