Obnovení konkrétních dat pomocí příkazů Gitu
Schopnost obnovit data pomocí příkazů Gitu je zásadní pro vývojáře, aby vrátili náhodné změny, obnovili odstraněné soubory nebo obnovili ztracené potvrzení. Přispívá k minimalizaci neočekávaných výpadků a zajištění kontinuity projektů. I když jsou jeho výhody jasné, je důležité zdůraznit potenciální rizika. Při použití příkazu Git popsaného v této lekci je důležité postupovat správně opatrně, zejména při manipulaci s historií potvrzení nebo vrácení změn, protože chyby můžou vést ke ztrátě dat.
Příkazy pro obnovení dat Gitu
Příkazy Gitu, které pracují s obnovením dat, je možné seskupit do několika kategorií, včetně obnovení potvrzení, souborů, konkrétních řádků kódu a odstraněných potvrzení nebo větví.
Obnovení potvrzení
- git log: vypíše historii potvrzení úložiště. Můžete procházet protokol a najít potvrzení, které chcete obnovit.
- git checkout <commit>: přepne na konkrétní potvrzení a efektivně "obnoví" stav úložiště v daném potvrzení.
- git cherry-pick <commit>: použije změny zavedené určitým potvrzením ve vaší aktuální větvi.
Obnovení souborů
- Soubor potvrzení>>< rezervace <gitu: obnoví konkrétní soubor z předchozího potvrzení.
- Git Restore <File>: zahodí místní změny a obnoví soubor do posledního potvrzeného stavu za předpokladu, že jste změny ještě nepoužili.
Obnovení konkrétních řádků kódu
- git blame <file>: zobrazí revizi a autora každého řádku v souboru a pomáhá identifikovat potvrzení, které zavedlo konkrétní změnu.
- git show <commit>:<file>: zobrazí obsah souboru v určitém potvrzení. Můžete zadat cestu k potvrzení a souboru, abyste viděli obsah, jak existoval v daném okamžiku.
Obnovení odstraněných potvrzení nebo větví
- git reflog: zobrazí záznam všech potvrzení. Můžete ji použít k vyhledání hodnoty hash SHA-1 dříve odstraněného potvrzení nebo větve a následné rezervaci nebo obnovení.
- git fsck --lost-found: zkontroluje integritu úložiště a vypíše všechna potvrzení, která nejsou dostupná z žádné větve nebo značky. Můžete ho použít k obnovení ztracených potvrzení.
Nezapomeňte tyto příkazy používat s opatrností, zejména při manipulaci s historií potvrzení nebo vrácení změn. Před spuštěním nebo uložením aktuálních změn před pokusem o operace obnovení vždy nezapomeňte vytvořit zálohu úložiště.
Ukázkový scénář
Pojďme si projít ukázkový scénář, který znázorňuje proces použití příkazů Gitu k obnovení odstraněného souboru. Předpokládáme, že soubor s názvem example.txt umístěný v úložišti Git byl omylem odstraněn a potřebujete ho obnovit.
Zobrazení historie potvrzení:
- Začněte zobrazením historie potvrzení:
git log - V výpisu historie potvrzení identifikujte hodnotu hash SHA-1 potvrzení, kde byl soubor example.txt naposledy přítomn.
Obnovení odstraněného souboru:
- Jakmile identifikujete hodnotu hash SHA-1 potvrzení, obnovte soubor pomocí pokladny Gitu:
git checkout <commit_SHA>^ –- example.txt - Nahraďte <commit_SHA> hodnotou hash SHA-1 potvrzení. Symbol ^ označuje nadřazenou položku tohoto potvrzení a efektivně obnoví soubor do jeho stavu před odstraněním.
Ověření změn:
- Po obnovení souboru ověřte, že byl úspěšně obnoven, a to tak, že zkontrolujete stav úložiště:
Stav Gitu - Ověřte, že example.txt uvedený jako upravený nebo nesledovaný soubor.
Příprava a potvrzení změn:
- Pokud je soubor uvedený jako upravený, připravte ho pro potvrzení:
git add example.txt - Potvrďte změny odpovídající zprávou potvrzení:
git commit -m "Obnovená example.txt"