Hoe de laatste Git-vastlegging ongedaan te maken

Als je een webontwikkelaar of software-engineer bent, is het zeer waarschijnlijk dat je veel commits naar je Git pusht repository elke dag.

In sommige gevallen heb je echter een aantal bestanden gecommit die niet naar je Git-repository gepusht zouden moeten worden.

Soms wil je misschien extra wijzigingen aanbrengen voordat je de commit uitgeeft .

Als gevolg hiervan moet je de laatste commit ongedaan maken uit je Git-repository.

In deze tutorial gaan we zien hoe je de laatste commit gemakkelijk ongedaan kunt maken, misschien om wijzigingen later opnieuw vast te leggen.

Inhoudsopgave

Laatste Git-vastlegging ongedaan maken met reset

De gemakkelijkste manier om de laatste Git-commit ongedaan te maken, is door het “git reset” -commando uit te voeren met de “–soft” -optie die de wijzigingen die aan je bestanden zijn aangebracht, zal behouden. Je moet de commit specificeren om ongedaan te maken, wat in dit geval “HEAD ~ 1” is.

De laatste commit zal uit je Git-geschiedenis worden verwijderd.

Als je niet bekend bent met deze notatie, betekent “HEAD ~ 1” dat je de HEAD (de laatste commit) wilt resetten naar een eerdere commit in de log geschiedenis.

Dus wat is de impact van dit commando?

Het “git reset” commando kan gezien worden als het tegenovergestelde van het “git add” commando, in wezen bestanden toevoegen naar de Git-index.

Bij het specificeren van de “–soft” -optie, krijgt Git de instructie om de bestanden in de werkdirectory of in de index helemaal niet te wijzigen.

Als voorbeeld , laten we zeggen dat je twee bestanden hebt toegevoegd aan je meest recente commit, maar je wilt wat aanpassingen aan dit bestand doen.

Als gevolg hiervan zul je “git reset” gebruiken met de “–soft” optie om de laatste commit ongedaan te maken en aanvullende wijzigingen uit te voeren.

Zoals je kunt zien, door de laatste commit ongedaan te maken, bestand is nog steeds in de index (wijzigingen die moeten worden vastgelegd) maar de commit is verwijderd.

Geweldig, je hebt met succes de laatste Git-commit op je repository ongedaan gemaakt.

Hard Reset Git-commit

In de vorige sectie hebben we gezien hoe je gemakkelijk de laatste commit ongedaan kunt maken door de wijzigingen die aan de bestanden in de index zijn aangebracht te behouden.

In sommige gevallen wil je gewoon verwijder de commit en de wijzigingen die in de bestanden zijn aangebracht.

Dit is het doel van de “–hard” optie.

Om de laatste commit ongedaan te maken en alle wijzigingen te negeren voer in de werkdirectory en index het “git reset” commando uit met de “–hard” optie en specificeer de commit voor HEAD (“HEAD ~ 1”).

Wees voorzichtig bij het gebruik van “–hard”: wijzigingen worden verwijderd uit de werkdirectory en uit de index, u verliest alle wijzigingen.

Terug naar het voorbeeld dat we eerder hebben beschreven, laten we zeggen dat je een nieuw bestand hebt vastgelegd in je Git-repository met de naam “file1”.

Laten we nu net doen alsof je de laatste commit ongedaan wilt maken en alle aanpassingen weggooien.

Geweldig, laten we nu de staat van onze Git-repository bekijken .

Zoals u kunt zien, is het bestand volledig verwijderd uit de Git-opslagplaats (index + werkdirectory)

Gemengde reset Git commit

Om de laatste Git-commit ongedaan te maken, bewaar de wijzigingen in de werkdirectory maar NIET in de index, je moet het “git reset” commando gebruiken met de “–mixed” optie. Voeg naast dit commando gewoon “HEAD ~ 1” toe voor de laatste commit.

Laten we als voorbeeld zeggen dat we een bestand hebben toegevoegd met de naam ” file1 ”in een commit die we ongedaan moeten maken.

Om de laatste commit ongedaan te maken, voeren we gewoon het” git reset “commando uit met de” –mixed “optie.

Wanneer u de optie” –mixed “specificeert, wordt het bestand verwijderd uit de Git-index maar niet uit de werkdirectory.

Als gevolg hiervan wordt de” –mixed ” ”Is een” mix “tussen de zachte en de harde reset, vandaar de naam.

Geweldig! Je hebt een andere manier gevonden om de laatste commit terug te draaien terwijl de wijzigingen die in bestanden zijn aangebracht, behouden blijven.

In de volgende sectie gaan we een andere manier zien om de laatste commit terug te draaien met het git revert commando.

Laatste commit ongedaan maken met revert

Om de laatste Git commit terug te draaien , gebruik de “git revert” en specificeer de te herstellen commit die “HEAD” is voor de laatste commit van je geschiedenis.

Het “git revert” commando verschilt enigszins van het “git reset” commando omdat het een nieuwe commit zal opnemen met de veranderingen die geïntroduceerd zijn door de laatste commit terug te draaien.

Merk ook op dat met “git reset ”je specificeerde” HEAD ~ 1 “omdat het reset commando een nieuwe HEAD positie instelt, terwijl het terugdraaien feitelijk de gespecificeerde commit terugdraait.

Als gevolg hiervan zul je de veranderingen opnieuw moeten vastleggen om de bestanden teruggedraaid en om de commit ongedaan te maken.

Als gevolg hiervan, laten we zeggen dat je een nieuw bestand hebt gecommit in je Git-repository, maar dat je deze commit ongedaan wilt maken.

Bij het uitvoeren van het “git revert” commando, zal Git automatisch je teksteditor openen om de wijzigingen vast te leggen.

Als je klaar bent met het vastlegbericht, zal er een bericht worden weergegeven met de nieuwe vastleghash.

Als je nu je Git-geschiedenis opnieuw zou inspecteren, zou je opmerken dat er een nieuwe commit is toegevoegd om de laatste commit uit je repository ongedaan te maken.

Conclusie

In deze tutorial heb je alle manieren gezien om de laatste commit van je Git-repository ongedaan te maken.

Je hebt geleerd over de “git reset ”Commando en de verschillende manieren om het uit te voeren, afhankelijk van wat je wilt behouden of niet.

Je hebt ook geleerd over het verschil tussen het git reset en het git revert commando, waarbij de laatste een nieuwe commit toevoegt om die terug te zetten uit je repository.

Als je nieuwsgierig bent naar Git of naar software engin eering, we hebben er een volledige sectie aan gewijd op de website, dus zorg ervoor dat je het bekijkt!

Als je Git leuk vindt, vind je onze andere artikelen misschien ook leuk:

  • Hoe een Git-repository te klonen
  • Hoe Git-bestanden te unstagen
  • Hoe Git-commits te kersen kiezen
git

Write a Comment

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *