Specifieke gegevens herstellen met behulp van Git-opdrachten
De mogelijkheid om gegevens te herstellen met behulp van Git-opdrachten is cruciaal voor ontwikkelaars om onbedoelde wijzigingen terug te zetten, verwijderde bestanden te herstellen of verloren doorvoeringen te herstellen. Het draagt bij aan het minimaliseren van onverwachte downtime en het garanderen van projectcontinuïteit. Hoewel de voordelen duidelijk zijn, is het belangrijk om te wijzen op de potentiële risico's. Bij het toepassen van de Git-opdracht die in deze les wordt beschreven, is het essentieel om voorzichtig te zijn, met name bij het bewerken van de doorvoergeschiedenis of het terugdraaien van wijzigingen, omdat fouten kunnen leiden tot gegevensverlies.
Git-opdrachten voor gegevensherstel
Git-opdrachten die betrekking hebben op gegevensherstel kunnen worden gegroepeerd in verschillende categorieën, waaronder het herstellen van doorvoeringen, bestanden, specifieke coderegels en verwijderde doorvoeringen of vertakkingen.
Doorvoeringen herstellen
- git-logboek: geeft een overzicht van de doorvoergeschiedenis van een opslagplaats. U kunt door het logboek navigeren om de doorvoering te vinden die u wilt herstellen.
- git-betaling <doorvoer>: schakelt over naar een specifieke doorvoer, waardoor de status van de opslagplaats bij die doorvoering effectief wordt hersteld.
- git cherry-pick <commit>: past de wijzigingen toe die zijn geïntroduceerd door een specifieke doorvoering op uw huidige vertakking.
Bestanden herstellen
- git checkout <commit><file>: restores a specific file from a previous commit.
- Git-herstelbestand<>: verwijdert lokale wijzigingen en herstelt het bestand naar de laatste doorgevoerde status, ervan uitgaande dat u de wijzigingen nog niet hebt doorgevoerd.
Specifieke regels code herstellen
- git blame-bestand<>: geeft de revisie en auteur van elke regel in een bestand weer, zodat u de doorvoering kunt identificeren die een bepaalde wijziging heeft geïntroduceerd.
- git show <commit>:<file>: geeft de inhoud van een bestand weer bij een specifieke doorvoering. U kunt het doorvoer- en bestandspad opgeven om de inhoud te zien zoals deze op dat moment bestond.
Verwijderde doorvoeringen of vertakkingen herstellen
- git reflog: geeft een record weer van alle doorvoeringen. U kunt deze gebruiken om de SHA-1-hash van een eerder verwijderde doorvoering of vertakking te vinden en deze vervolgens uit te checken of te herstellen.
- git fsck --lost-found: controleert de integriteit van de opslagplaats en vermeldt eventuele doorvoeringen die niet bereikbaar zijn vanuit een vertakking of tag. U kunt dit gebruiken om verloren doorvoeringen te herstellen.
Vergeet niet om deze opdrachten voorzichtig te gebruiken, met name bij het bewerken van de doorvoergeschiedenis of het terugdraaien van wijzigingen. Zorg er altijd voor dat u een back-up van uw opslagplaats maakt voordat u git stash start of gebruikt om uw huidige wijzigingen op te slaan voordat u herstelbewerkingen uitvoert.
Voorbeeldscenario
Laten we een voorbeeldscenario doorlopen dat het proces illustreert van het gebruik van Git-opdrachten om een verwijderd bestand te herstellen. We gaan ervan uit dat een bestand met de naam example.txt zich in uw Git-opslagplaats bevindt, per ongeluk is verwijderd en dat u het moet herstellen.
Doorvoergeschiedenis weergeven:
- Begin met het weergeven van de doorvoergeschiedenis:
Git-logboek - Identificeer in de vermelding van de doorvoergeschiedenis de SHA-1-hash van de doorvoering waarin het bestand example.txt voor het laatst aanwezig was.
Het verwijderde bestand herstellen:
- Zodra u de SHA-1-hash van de doorvoer hebt geïdentificeerd, gebruikt u Git Checkout om het bestand te herstellen:
git checkout <commit_SHA>^ -- example.txt - Vervang <commit_SHA> door de SHA-1-hash van de doorvoer. Het symbool ^ geeft het bovenliggende element van die doorvoering aan, waardoor het bestand daadwerkelijk wordt hersteld naar de status ervan voordat het wordt verwijderd.
Wijzigingen controleren:
- Nadat u het bestand hebt hersteld, controleert u of het is hersteld door de status van de opslagplaats te controleren:
git-status - Controleer of example.txt vermeld als een gewijzigd of niet-bijgehouden bestand.
Wijzigingen faseren en doorvoeren:
- Als het bestand wordt vermeld als gewijzigd, moet u het faseren voor doorvoer:
Git-example.txt toevoegen - Voer de wijzigingen door met een geschikt doorvoerbericht:
git commit -m "Herstelde example.txt"