Git je jedním z nejoblíbenějších systémů pro správu verzí používaných vývojáři po celém světě. Při práci s Git je však někdy nutné odstranit nově vyrobený commit. Může to být způsobeno různými důvody, jako je chyba, neochota ukládat určité změny nebo jednoduše vymazat historii obchodů.
Odstranění commitu v Git je možné, ale vyžaduje opatrnost a přesné dodržování pokynů. V tomto článku se podíváme na to, jak odstranit commit prostřednictvím konzolového rozhraní Git. Připravte se na práci s příkazovým řádkem, protože některé akce budou vyžadovat zadávání příkazů a možností v konzoli.
Než začnete s odstraněním commitu, je důležité pochopit, co se děje v systému kontroly verzí. Každý commit Git má jedinečný identifikátor,který jde v pořadí. Vymazání commitu znamená změnu historie commitů, takže budou přítomny důsledky, jako je změna hash součtu následujících po vzdáleném komuniké a případná ztráta dat. Při mazání zpráv buďte velmi opatrní a před provedením postupu nezapomeňte zálohovat důležité informace.
Jak odstranit commit v GIT přes konzolu
Odstranění commitu v Git může být nezbytnou operací, pokud jste při přidávání změn udělali chybu nebo chcete předchozí commit zrušit. V tomto článku se podíváme na podrobný návod, jak odstranit commit v GIT přes konzoli.
- Otevřete konzolu GIT a přejděte do adresáře úložiště.
- Zadejte příkaz git log a zobrazte seznam komit v úložišti.
- Zkopírujte ID obchodu, který chcete odstranit.
- Zadejte příkaz git rebase - i ID_KOMMITA^, kde ID_KOMMITA je identifikátor commitu, a přidejte na konec znak^, který označuje commit před vybranou komisí.
- Otevře se editor, který zobrazí seznam komit. Najděte řádek, který odpovídá odstranění vybraného obchodu, a odstraňte jej.
- Uložte a zavřete soubor.
- Git provede uvedené změny a odstraní vybraný commit z historie úložiště.
- Zadejte příkaz git log znovu, abyste se ujistili, že byl commit úspěšně odstraněn.
- Pokud chcete aktualizovat vzdálené úložiště, zadejte příkaz git push origin branch-name --force, kde branch-name je název vaší větve.
Nyní víte, jak odstranit commit v Git přes konzoli. Pamatujte, že odstranění commitu může ovlivnit historii úložiště, takže buďte opatrní a ujistěte se, že rozumíte důsledkům této operace.
Krok 1: Otevřete terminál
Prvním krokem k odstranění obchodu v Git prostřednictvím konzole je otevření terminálu v počítači. Terminál vám umožňuje komunikovat s Git pomocí příkazů příkazového řádku.
Pokud máte nainstalovaný operační systém Windows, můžete terminál otevřít například kliknutím pravým tlačítkem myši na plochu a výběrem možnosti "Git Bash Here" nebo "Open Git Bash".
V případě Macu nebo Linuxu můžete terminál otevřít například stisknutím klávesové zkratky Command + Space, zadejte "Terminal" a ze seznamu aplikací vyberte Terminal.
Krok 2: Přejděte do složky úložiště
Jakmile nainstalujete Git do počítače, otevřete terminál a přejděte do složky, kde je vaše úložiště. K tomu lze použít příkaz cd (change directory) spolu s cestou do složky.
Pokud je například vaše úložiště ve složce "Documents / my-repo", zadejte následující příkaz:
Ujistěte se, že jste v kořenové složce úložiště, abyste měli přístup ke všem souborům a příkazům Git. Aktuální cestu můžete zkontrolovat pomocí příkazu pwd (print working directory), která vám ukáže celou cestu k aktuální složce.
Nyní, když jste ve složce úložiště, můžete pokračovat v práci s Git a přejít na další kroky k odstranění commitu.
Krok 3: Zadejte příkaz k odstranění commitu
Chcete-li odstranit commit v Git, můžete použít příkaz git reset . Tento příkaz vám umožňuje přenést hlavu větve na předchozí commit a odstranit všechny následující commity.
Chcete-li odstranit poslední commit, zadejte příkaz:
Pokud chcete odstranit několik posledních komit, musíte zadat počet komit, které chcete odstranit. Pokud například chcete odstranit poslední dva commity, zadejte příkaz:
git reset HEAD~2
Po zadání příkazu git odstraní uvedené commity a přenese hlavu větve na předchozí commit. Všechny změny provedené ve vzdálených komunikacích však zůstanou v pracovním adresáři.
K definitivnímu odstranění změn způsobených smazanými komunikacemi můžete použít příkaz git push-f . Tento příkaz vynucuje aktualizaci vzdáleného úložiště odstraněním změněných komit.
Důležitě: Při mazání komit buďte opatrní, zvláště pokud již byly publikovány a ostatní vývojáři pracují s vaším úložištěm. Vymazání zpráv může vést ke ztrátě dat a vytváření problémů pro kolektivní práci.