Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Een Specifieke Commit Terugdraaien | Wijzigingen Ongedaan Maken
Git Essentials

bookEen Specifieke Commit Terugdraaien

git revert

Om een specifieke commit ongedaan te maken, gebruik het commando git revert. Dit commando maakt een nieuwe commit aan die de wijzigingen van de opgegeven commit terugdraait. Basis syntaxis:

git revert <commit-hash>

In plaats van HEAD (die de laatste commit target), geef de hash van de commit (commit-ID) op die je wilt terugdraaien door <commit-hash> te vervangen door de daadwerkelijke hashwaarde.

Meer over Hashes

Elke commit heeft een unieke ID — een hexadecimale tekenreeks van 40 tekens bestaande uit cijfers (0–9) en letters (a–f). Deze identificatie wordt een hash genoemd. Bekijk nu de laatste commit:

De laatste commit

Hier is de hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Opmerking

Je zult een andere hash voor deze commit hebben om de hieronder uitgelegde reden.

De commit-hash wordt berekend met het SHA-1-algoritme op basis van de volgende informatie:

  • Commitbericht;
  • Datum;
  • Auteur;
  • Snapshot van de working tree;
  • Hash van de bovenliggende commit (of commits wanneer er meer dan één ouder is).

Als de commit de eerste in de repository is, wordt de hash van de bovenliggende commit uiteraard niet berekend.

Aangezien al deze commit-informatie wordt gebruikt voor het berekenen van de hash, zorgt het gebruik van hashes als commit-ID's voor de consistentie van de repository. Bovendien is de kans dat twee verschillende commits dezelfde hash hebben (de kans op een botsing) uiterst klein, dus het is zeer onwaarschijnlijk dat dit toevallig gebeurt.

In feite zal de hash veranderen als er iets in de commit wordt aangepast. Dit betekent dat Git bij beschadiging van de gegevens om welke reden dan ook, de hash kan gebruiken om dit te identificeren.

Note
Opmerking

Bij het aanpassen van een commit verandert de commit-ID, wat de reden is dat het beter is om het commando git commit --amend niet te gebruiken wanneer er met externe repositories wordt gewerkt.

Voorbeeldworkflow

Bekijk de vier meest recente commits voordat u beslist welke commit u wilt terugdraaien:

Vier laatste commits

Er is een commit waarin het bestand recipe.txt is toegevoegd. Revert deze commit om een nieuwe aan te maken die deze wijzigingen ongedaan maakt en het bestand effectief verwijdert. In dit voorbeeld is de commit hash:

043b634d76a7a7744757350512b6367417c29e0

Jouw commit hash zal anders zijn. Nu deze commit reverten:

Vervang deze hash door jouw hash.

Git revert

Opnieuw wordt de standaardteksteditor geopend met het standaard commitbericht voor de revert. Laat het bericht ongewijzigd.

Standaard revert commitbericht

Sluit vervolgens de teksteditor correct af en toon de wijzigingen die in de laatste commit zijn aangebracht:

De laatste commit

7 verwijderingen hebben plaatsgevonden, wat betekent dat alle zeven regels van het bestand zijn verwijderd. Controleer nu of het bestand daadwerkelijk is verwijderd door alle niet-verborgen bestanden en mappen in de projectmap weer te geven:

Bestanden en mappen weergeven

Het bestand recipe.txt is succesvol verwijderd.

question-icon

Koppel de acties aan de bijbehorende commando's.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Click or drag`n`drop items and fill in the blanks

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Awesome!

Completion rate improved to 3.57

bookEen Specifieke Commit Terugdraaien

Veeg om het menu te tonen

git revert

Om een specifieke commit ongedaan te maken, gebruik het commando git revert. Dit commando maakt een nieuwe commit aan die de wijzigingen van de opgegeven commit terugdraait. Basis syntaxis:

git revert <commit-hash>

In plaats van HEAD (die de laatste commit target), geef de hash van de commit (commit-ID) op die je wilt terugdraaien door <commit-hash> te vervangen door de daadwerkelijke hashwaarde.

Meer over Hashes

Elke commit heeft een unieke ID — een hexadecimale tekenreeks van 40 tekens bestaande uit cijfers (0–9) en letters (a–f). Deze identificatie wordt een hash genoemd. Bekijk nu de laatste commit:

De laatste commit

Hier is de hash:

1b00736255dca7d78659a9971d0c30fba0eb3075

Note
Opmerking

Je zult een andere hash voor deze commit hebben om de hieronder uitgelegde reden.

De commit-hash wordt berekend met het SHA-1-algoritme op basis van de volgende informatie:

  • Commitbericht;
  • Datum;
  • Auteur;
  • Snapshot van de working tree;
  • Hash van de bovenliggende commit (of commits wanneer er meer dan één ouder is).

Als de commit de eerste in de repository is, wordt de hash van de bovenliggende commit uiteraard niet berekend.

Aangezien al deze commit-informatie wordt gebruikt voor het berekenen van de hash, zorgt het gebruik van hashes als commit-ID's voor de consistentie van de repository. Bovendien is de kans dat twee verschillende commits dezelfde hash hebben (de kans op een botsing) uiterst klein, dus het is zeer onwaarschijnlijk dat dit toevallig gebeurt.

In feite zal de hash veranderen als er iets in de commit wordt aangepast. Dit betekent dat Git bij beschadiging van de gegevens om welke reden dan ook, de hash kan gebruiken om dit te identificeren.

Note
Opmerking

Bij het aanpassen van een commit verandert de commit-ID, wat de reden is dat het beter is om het commando git commit --amend niet te gebruiken wanneer er met externe repositories wordt gewerkt.

Voorbeeldworkflow

Bekijk de vier meest recente commits voordat u beslist welke commit u wilt terugdraaien:

Vier laatste commits

Er is een commit waarin het bestand recipe.txt is toegevoegd. Revert deze commit om een nieuwe aan te maken die deze wijzigingen ongedaan maakt en het bestand effectief verwijdert. In dit voorbeeld is de commit hash:

043b634d76a7a7744757350512b6367417c29e0

Jouw commit hash zal anders zijn. Nu deze commit reverten:

Vervang deze hash door jouw hash.

Git revert

Opnieuw wordt de standaardteksteditor geopend met het standaard commitbericht voor de revert. Laat het bericht ongewijzigd.

Standaard revert commitbericht

Sluit vervolgens de teksteditor correct af en toon de wijzigingen die in de laatste commit zijn aangebracht:

De laatste commit

7 verwijderingen hebben plaatsgevonden, wat betekent dat alle zeven regels van het bestand zijn verwijderd. Controleer nu of het bestand daadwerkelijk is verwijderd door alle niet-verborgen bestanden en mappen in de projectmap weer te geven:

Bestanden en mappen weergeven

Het bestand recipe.txt is succesvol verwijderd.

question-icon

Koppel de acties aan de bijbehorende commando's.


Revert the latest commit:

Revert a specific commit:

Unstage changes:

Revert unstaged changes:

Unstage changes and then revert the changes in the working directory:

Overwrite the existing commit:

Click or drag`n`drop items and fill in the blanks

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 3. Hoofdstuk 5
some-alt