Hoe annuleer je de laatste commit in het versiebeheersysteem?
sobes.tech AI
Antwoord van AI
Er zijn verschillende manieren om de laatste commit ongedaan te maken, afhankelijk van of deze naar de externe repository is gepusht en wat het doel van de ongedaanmaking is.
-
Maak de lokale commit ongedaan zonder de bestanden te wijzigen (soft reset):
git reset --soft HEAD~1 # Zet HEAD een commit terug, wijzigingen blijven in de index (gestaged). -
Maak de lokale commit ongedaan, laat de wijzigingen in de werkdirectory (mixed reset - standaard):
git reset HEAD~1 # Zet HEAD een commit terug. Wijzigingen blijven in de werkdirectory (unstaged). -
Maak de lokale commit volledig ongedaan, inclusief het verwijderen van wijzigingen uit de werkdirectory en de index (hard reset):
git reset --hard HEAD~1 # Zet HEAD een commit terug en verwijdert alle lokale wijzigingen. Wees voorzichtig! Gegevensverlies. -
Maak een commit ongedaan die al naar de externe repository is gepusht, door een nieuwe commit te maken die de vorige wijzigingen ongedaan maakt:
git revert HEAD # Maakt een nieuwe commit die de wijzigingen van de laatste commit terugdraait. Veilig voor openbare takken.
De keuze van de methode hangt af van de situatie. Voor openbare takken wordt aanbevolen git revert te gebruiken, omdat dit de commitgeschiedenis niet wijzigt. Voor lokale wijzigingen of takken waar je alleen aan werkt, kun je git reset gebruiken.