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
- 'git rebase'-opdracht in Git
- Wat is het verschil tussen 'git revert' en 'git rebase' in Git?
'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-statusVolgens 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 --onelineDe 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 HEADNa 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 --onelineHet 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 takUit 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.