Git commit terugdraaien, 2 eenvoudige manieren

Ow shit! Ik weet niet hoe ik een Git commit moet terugdraaien. Tijdens het werken aan een van mijn projecten, heb ik enkele bestanden gecommit die ik niet had moeten committen. Gelukkig kwam ik er achter voordat ik naar de master ging (die auto-deployment naar de live omgeving bevat).

Voor degenen die gewoon de code willen kopiëren/plakken.

Een Git commit terugdraaien (kan elke commit zijn):

git revert {commit_id}

De laatste Git commit terugdraaien:

git reset --soft HEAD~1

Hoe kun je je commit terugdraaien?

In dit geval zullen we de hele commit terugdraaien. Anders zul je alle wijzigingen handmatig moeten doorlopen. Het maakt niet uit of het de laatste commit is of een commit die je eerder gedaan hebt.

Door een commit terug te draaien, zul je een nieuwe commit aanmaken. De nieuwe commit maakt alle wijzigingen ongedaan die gemaakt zijn binnen de commit die je terugdraait.

git revert {commit_id}

Waar vind ik de git commit ID in Github?

Voordat we de commit kunnen terugdraaien, moeten we zijn ID weten. Voor dit voorbeeld zal ik GitHub gebruiken om te laten zien waar het is.

1. Ga naar het beginscherm van je archief

2. Gebruik de dropdown om te wisselen van de master (of hoofd) branch naar de branch waar je de commit hebt gedaan die je wilt terugdraaien

image 1 - Sander Volbeda

3. Nu is er een blok dat zegt: Deze tak ligt X commit voor op master. Klik op de X commit vooruit.

image 2 - Sander Volbeda

4. Klik op het kopieer-icoon “Kopieer de volledige SHA”, dat is de commit ID

image 3 - Sander Volbeda

5. Plak het nu in de regel code die aan het begin van het artikel wordt gedeeld

git revert 5cfc208de9dd834e4625c42d29639840c910f969

Plak de regel in de terminal, en het zou allemaal goed moeten werken.

De laatste commit terugzetten

Om je laatste commit op de branch waar je op zit ongedaan te maken, is er een eenvoudigere code. Je hebt de commit ID niet nodig zoals in de voorgaande stappen.

git reset --soft HEAD~1

Dat is alles! Aanvullende bronnen zijn te vinden op Stack Overflow en in deze GitHub repository.

Logo Freelance CRO specialist Sander Volbeda

Werkzaam vanuit Groningen voor bedrijven in het binnen- en buitenland. Laten we een kennismaking inplannen. Je zit uiteraard nergens aan vast.

Stuur een bericht
© 2024 Sander Volbeda, Alle rechten voorbehouden
KVK: 53236734 BTW: NL002247968B39