Obnovení konkrétních dat pomocí příkazů Gitu

Dokončeno

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"