Wat is het verschil tussen Git Revert, Checkout en Reset?

Wat Is Het Verschil Tussen Git Revert Checkout En Reset



Git wordt gebruikt voor het bijhouden van wijzigingen in broncodebestanden en het coördineren van werk tussen meerdere ontwikkelaars. Het stelt ontwikkelaars in staat om terug te gaan naar de vorige statussen en zelfs commits of wijzigingen in de repository ongedaan te maken. De ' gek terugdraaien ”, “ gek uitchecken ' en ' git-reset ” zijn drie van de handigste Git-commando's om te kennen tijdens het werken aan een Git-project.

De uitkomsten van dit artikel zijn:

Onderscheid maken tussen 'git reset', 'git revert' en 'git checkout' commando's?

git terugzetten ”, “ git afrekenen ', en ' git-reset ” Commando's zijn manieren om wijzigingen in de broncode aan te brengen en deze vervolgens ongedaan te maken als de gebruiker niet tevreden is met het resultaat. Het verschil tussen deze commando's ligt in hun functionaliteit en gebruik, zoals:







  • git terugzetten ” commando wordt gebruikt om wijzigingen ongedaan te maken door een nieuwe repository commit te maken van een eerdere commit en nieuwe geschiedenis toe te voegen aan de repository.
  • git afrekenen De opdracht ” wordt gebruikt om van de ene branch naar de andere te schakelen en werkboombestanden te herstellen vanuit het verzamelgebied.
  • git-reset ” commando untrack changes from the staging index. Het verwijdert bestanden uit het verzamelgebied, zodat ze indien nodig later opnieuw kunnen worden vastgelegd.

Hoe commits ongedaan te maken met de opdracht 'git revert'?

Om commits ongedaan te maken, ga je eerst naar de gewenste Git-repository en maak je een bestand aan. Volg vervolgens het bestand en voer de wijzigingen door. Voeg daarna wat inhoud toe aan het nieuwe bestand, stage en voer nieuwe wijzigingen door. Voer ten slotte de opdracht ' git terugzetten ” commando en controleer de ongedaan gemaakte wijzigingen.



Stap 1: Ga naar Git Directory

Voer de ' CD ” opdracht samen met het specifieke lokale mappad en navigeer ernaar:



$ CD 'C:\Ga \R opslagplaats1'





Stap 2: maak een nieuw bestand aan

Genereer een nieuw bestand in de huidige repository met behulp van de onderstaande opdracht:

$ aanraken demo_bestand.txt



Stap 3: Volg nieuw bestand

Maak dan gebruik van de “ git toevoegen ” commando om een ​​nieuw bestand toe te voegen aan het verzamelgebied:

$ git toevoegen demo_bestand.txt

Stap 4: wijzigingen doorvoeren

Voer vervolgens de volgende opdracht uit om het bestand vanuit het verzamelgebied vast te leggen:

$ git vastleggen -m 'Demobestand toegevoegd'

Stap 5: Nieuw bestand bijwerken

Voeg daarna wat inhoud toe aan het nieuwe bestand en werk het bij met behulp van de ' echo ” commando:

$ echo 'Hallo! Demo-inhoud' >> demo_bestand.txt

Stap 6: voeg nieuwe wijzigingen toe aan verzamelgebied

Voer vervolgens de ' git toevoegen. ”-opdracht om alle toegevoegde wijzigingen in te voeren:

$ git toevoegen .

Stap 7: voer nieuwe wijzigingen door

Leg de gefaseerde wijzigingen vast door de onderstaande opdracht samen met het bericht uit te voeren:

$ git vastleggen -m 'Bestand bijgewerkt'

Stap 8: Controleer Git Log

Om de commit-geschiedenis te bekijken, controleert u het Git-logboek met behulp van de onderstaande opdracht:

$ git-logboek --online

Volgens de onderstaande uitvoer zijn er twee commits en wijst de HEAD naar de ' Bestand bijgewerkt ' verbinden:

Stel nu dat de laatste commit per ongeluk is gedaan, en we moeten de wijzigingen ongedaan maken. Gebruik in deze situatie de herstelbewerking als volgt.

Stap 9: Wijzigingen ongedaan maken

Voer de ... uit ' git terugzetten ” commando samen met de HEAD om wijzigingen van die commit ongedaan te maken:

$ git terugzetten HOOFD

In de onderstaande schermafbeelding kunt u zien dat de terugzetbewerking met succes is uitgevoerd:

Stap 10: Controleer wijzigingen ongedaan maken

Controleer ten slotte de geschiedenis van het Git-referentielogboek om de nieuwe wijzigingen in de commit-geschiedenis te bekijken:

$ git-logboek --online

Men kan constateren dat de “ Bestand bijgewerkt ” commit staat nog steeds in de projectgeschiedenis, zelfs na de terugzetbewerking. Dus in plaats van het te verwijderen, heeft dit specifieke commando een nieuwe commit toegevoegd om de wijzigingen ongedaan te maken:

Hoe van filiaal wisselen door gebruik te maken van de opdracht 'git checkout'?

Om van de ene lokale vestiging naar de andere gewenste vestiging te gaan, controleert u eerst alle beschikbare vestigingen in de repository. Voer vervolgens de ' git afrekenen ”-opdracht samen met de gewenste branchenaam waar ontwikkelaars naar moeten overschakelen.

Stap 1: Controleer de lijst met filialen

Bekijk de lijst met branches in de huidige repository met behulp van de ' git tak ” commando:

$ git tak

In de onderstaande uitvoer is te zien dat er twee takken aanwezig zijn in de repository, en de ' meester ” is de huidige werktak:

Stap 2: Afrekenen naar een ander filiaal

Voer nu de ' git afrekenen ” commando samen met de gewenste filiaalnaam en schakel ernaar toe:

$ git afrekenen ontwikkelaar

Stap 3: Controleer de huidige vestiging

Bekijk de lijst met filialen om er zeker van te zijn of het afrekenen met succes is uitgevoerd:

$ git tak

Het is te zien dat we met succes hebben afgerekend vanaf de ' meester ” aftakking naar de “ ontwikkelaar ' tak. Nutsvoorzieningen, ' ontwikkelaar ” is de huidige werktak:

Wijzigingen ongedaan maken door te gebruiken 'git reset'-commando?

Om wijzigingen ongedaan te maken, controleert u eerst de Git-referentielogboekgeschiedenis van de huidige repository. Voer vervolgens de ' git-reset ” commando om de vertakkingsaanwijzer te verplaatsen.

Stap 1: controleer het Git-logboek

Bekijk de commit-geschiedenis en controleer waar de HEAD naar wijst door de ' git-logboek ” commando:

$ git-logboek --online

Het kan worden waargenomen dat het HOOFD naar de ' Bestand bijgewerkt ' verbinden:

Stap 2: Wijzigingen resetten

Om de commit uit de Git lokale werkdirectory te verwijderen, voer je de opdracht ' git-reset ” commando samen met de “– moeilijk ” optie en specificeer de gewenste HEAD-positie waar de aanwijzer moet worden verplaatst:

$ git-reset --moeilijk HOOFD~ een

De gegeven uitvoer geeft aan dat de reset-bewerking met succes is uitgevoerd:

Stap 3: Controleer Reset-wijzigingen

Bekijk ten slotte de nieuwe wijzigingen in de commit-geschiedenis door het Git-logboek te controleren met het onderstaande commando:

$ git-logboek --online

Zoals je kunt zien dat de “ Bestand bijgewerkt ” commit is verwijderd uit de commit geschiedenis en HEAD wijst nu naar de “ Demobestand toegevoegd ' verbinden:

We hebben het verschil uitgelegd tussen ' git terugzetten ”, “ git afrekenen ' en ' git-reset 'commando's.

Gevolgtrekking

git terugzetten ” commando wordt gebruikt om wijzigingen ongedaan te maken door een nieuwe repository commit te maken van een eerdere commit en nieuwe geschiedenis toe te voegen aan de repository. “ git checkou t” commando wordt gebruikt voor het wisselen van branches in de repository en stelt ontwikkelaars in staat om aan verschillende branches te werken zonder rechtstreeks in de repository wijzigingen te hoeven aanbrengen. Aan de andere kant, de “ git-reset De opdracht ” wordt gebruikt voor niet-geënsceneerde wijzigingen vanuit het volggebied. Dit artikel maakte onderscheid tussen de commando's 'git reset', 'git revert' en 'git checkout' en hoe ze werken.