Wat is het verschil tussen 'git revert' en 'git rebase' in Git?

Wat Is Het Verschil Tussen Git Revert En Git Rebase In Git



Soms gebeuren er tijdens de ontwikkeling meerdere fouten, zoals het onbedoeld toevoegen van gevoelige informatie aan commits, het plegen van onafgemaakt werk of het introduceren van bugs. Door wijzigingen ongedaan te maken en de Git-loggeschiedenis te herschrijven, kunnen Git-gebruikers deze fouten herstellen en zorgen voor een schone en correcte codebase.

In deze gids bespreken we:







'git revert' commando in Git

De ' git terugzetten ” commando wordt gebruikt voor het genereren van nieuwe commits die de toegevoegde wijzigingen in een vorige commit ongedaan maken. Simpel gezegd, het wordt gebruikt voor het annuleren van de toegevoegde wijzigingen die plaatsvinden na het uitvoeren van de reset-opdracht. Bovendien verwijdert het de bestaande gegevens niet, maar voegt het alleen een nieuwe commit toe aan het einde die de wijzigingen in de lokale repository ongedaan maakt.



Laten we eens kijken naar de praktische demonstraties van het hierboven beschreven commando!



Stap 1: omleiden naar lokale repository

Voer in eerste instantie de ' CD ” commando met het gewenste repository-pad en navigeer ernaar:





cd 'C:\Users\nazma\Git\Git\Demo1'

Stap 2: Bestand maken en toevoegen

Maak vervolgens een nieuw bestand via de ' echo ' commando en volg het met behulp van de ' git toevoegen ” commando:

echo 'mijn nieuwe bestand' >> bestand8.txt && git voeg bestand8.txt toe



Stap 3: Controleer de status

Geef vervolgens de status van de huidige werkdirectory weer door het commando 'git status' uit te voeren:

git-status

Volgens de volgende uitvoer is het nieuwe bestand met succes gevolgd:

Stap 4: Wijzigingen opslaan

Om de bijgehouden wijzigingen op te slaan, gebruikt u de volgende opdracht samen met het vastlegbericht:

git commit -m 'file8.txt toegevoegd'

Stap 5: Bekijk de Git-logboekgeschiedenis

Voer de opdracht 'git log' uit met de ' -een lijn ” vlag om elke commit op een enkele regel te tonen:

git log --oneline

De onderstaande uitvoer geeft aan dat alle commits met succes zijn weergegeven. We hebben gekozen voor de “ 939d65b ” SHA-hasj voor verder gebruik:

Stap 6: Wijzigingen ongedaan maken

Gebruik daarna de ' git terugzetten ” commando met de eerder geselecteerde commit die ik zou gebruiken om de wijzigingen ongedaan te maken:

git terug HEAD

Na het uitvoeren van het bovenstaande commando:

  • COMMIT_EDITMSG ”-bestand wordt geopend met de standaardeditor.
  • Voeg het commit-bericht toe voor het ongedaan maken van de bewerking.
  • Druk de ' CTRL+S ”-toetsen om de wijzigingen op te slaan en te sluiten:

Volgens de onderstaande uitvoer hebben we de specifieke commit met succes teruggedraaid:

Stap 7: Verificatie

Voer de volgende opdracht uit om de teruggedraaide wijzigingen te verifiëren:

git log --oneline

Het kan worden waargenomen dat de wijzigingen met succes zijn teruggedraaid op een nieuwe commit HASH:

'git rebase'-opdracht in Git

De ' git rebasen ” commando wordt gebruikt voor het samenvoegen of combineren van meerdere commits in een lineaire reeks door de nieuwe basis te wijzigen en te verplaatsen. Het stelt gebruikers in staat om de laatste wijzigingen te integreren en over te dragen van de ene lokale vestiging naar de andere. Bovendien herschrijft het de geschiedenis van commits bovenop een andere rebased branch.

Bekijk nu de onderstaande procedure voor een beter begrip!

Stap 1: maak een lijst van takken

Voer eerst de opdracht ' git tak ” commando om alle lokale vestigingen te bekijken:

git tak

Uit de gegeven uitvoer hebben we de ' functie ” tak voor verder gebruik:

Stap 2: Wissel van filiaal

Voer de volgende opdracht uit om van de ene werkende branch naar de andere uit te checken:

git checkout-functie

Stap 3: Vertakking opnieuw baseren

Gebruik de ' git rebasen ” commando met de naam van het lokale filiaal om het toe te voegen:

git rebase-master

Stap 4: Logboekgeschiedenis weergeven

Voer de opdracht ' git log” commando met de “–oneline ' keuze:

git log --oneline

Wat is het verschil tussen 'git revert' en 'git rebase' in Git?

Het verschil tussen de “ git terugzetten ” commando en de “ git rebasen ”-opdracht wordt weergegeven in de volgende tabel: dat is alles! We hebben de “ git rebase' en 'git revert ”-opdrachten in Git.

Conclusie

De ' git terugzetten ' En ' git rebasen ” zijn twee verschillende commando's die worden gebruikt voor het beheren en manipuleren van de versiegeschiedenis. Beide kunnen voor verschillende doeleinden worden gebruikt, zoals de ' git terugzetten ” commando wordt gebruikt om een ​​nieuwe commit te genereren die de toegevoegde wijzigingen in de commit ongedaan maakt. Echter, de ' git rebasen ” commando wordt gebruikt om meerdere commits samen te voegen tot een lineaire reeks door commits te verplaatsen of te wijzigen. In deze gids hebben we het verschil geïllustreerd tussen ' git revert' en 'git rebase ”-opdrachten in Git.