Commits Terugdraaien
Veeg om het menu te tonen
In het uitgebreide landschap van versiebeheer met Git komt het vaak voor dat je wijzigingen ongedaan wilt maken die door een specifieke commit zijn geïntroduceerd. Dit kan verschillende redenen hebben, zoals het ontdekken van een bug, het besef dat een functie nog niet klaar is voor productie, of simpelweg de wens om een andere aanpak te proberen.
Gelukkig biedt Git het commando git revert om een nieuwe commit te maken die de wijzigingen van de specifieke commit ongedaan maakt door het omgekeerde van die wijzigingen toe te passen.
De laatste commit terugdraaien
Om de laatste commit terug te draaien, gebruik het volgende commando:
git revert HEAD
HEAD is een verwijzing naar de laatste commit op de huidige branch.
Aangezien er slechts één branch is, wijst HEAD naar de laatste commit. Dit commando maakt een nieuwe commit aan die de wijzigingen van de vorige ongedaan maakt. Git opent de standaard teksteditor om indien nodig het commitbericht te bewerken. Sla het bestand op en sluit de editor om het terugdraaien te voltooien.
Voorbeeldworkflow
Voeg eerst een nieuwe regel toe aan het bestand recipe.txt met de volgende stap en commit de wijziging direct, waarbij de staging area wordt overgeslagen:
echo "8. Peel the eggs" > recipe.txt
git commit -a -m "Add another step to the recipe"
Toon nu de gedetailleerde informatie van deze commit met het git show-commando en HEAD:
git show HEAD
Oeps, alle vorige regels zijn verwijderd omdat de verkeerde uitvoeroperator werd gebruikt — > in plaats van >>, waardoor het bestand werd overschreven.
Geen zorgen; gebruik het commando git revert om deze wijzigingen in de laatste commit ongedaan te maken:
git revert HEAD
Zoals je kunt zien, wordt de standaardteksteditor geopend (Vim in dit geval) met een standaard commit-bericht. Laat dit nu zoals het is, maar in echte projecten wordt aanbevolen om de reden voor de terugdraaiing toe te voegen, bijvoorbeeld:
Revert "Add another step to the recipe"
Reason for rollback: the recipe.txt was overwritten.
This reverts commit b1148490543882f038069a0233a5d7e0b33f6221.
Om wijzigingen op te slaan en Vim af te sluiten, druk op de Escape-toets en vervolgens twee hoofdletters Z.
Bekijk tot slot de wijzigingen in de twee meest recente commits:
git log -p -2
Zoals verwacht is er een nieuw commit aangemaakt met de omgekeerde wijzigingen.
Gebruik pijlen om omhoog of omlaag te scrollen en druk op de q-toets om af te sluiten.
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.