Jak zrušit poslední Git Commit

Vrácení posledního potvrzení Git je běžný úkol pro vývojáře, kteří potřebují vrátit změny nebo opravit chyby. Git poskytuje několik metod, jak zrušit poslední potvrzení, což vám umožní udržovat čistou a přesnou historii projektu. Tyto metody zahrnují resetování, vracení nebo úpravu odevzdání, přičemž každý slouží k jiným účelům v závislosti na tom, zda chcete změny zachovat nebo zahodit.

Tato příručka ukáže, jak vrátit zpět poslední potvrzení Git na praktických příkladech. Zvládnutím těchto technik můžete efektivně spravovat svou historii Git a zajistit, aby váš projekt zůstal dobře organizovaný a bez chyb.

Porozumění Git Commit

Než prozkoumáme, jak zrušit potvrzení Git, je důležité pochopit, co potvrzení v Gitu znamená. Potvrzení představuje snímek vaší práce v konkrétním okamžiku. Zapouzdřuje všechny úpravy, které jste provedli od posledního odevzdání. Každé potvrzení je jednoznačně identifikováno pomocí hashe SHA-1, což Gitu umožňuje udržovat historii změn.

Zrušení závazku Git

Existují dvě primární techniky, jak zvrátit potvrzení Git: git reset a git revert. Každou metodu podrobně probereme, včetně jejich případů použití a důsledků.

git reset --soft HEAD~1

Pomocí git reset

Příkaz git reset je účinný nástroj, který vám umožní přesunout nebo „resetovat“ vaši aktuální HEAD do určeného stavu. Zde je návod, jak jej použít ke zrušení posledního potvrzení:

git reset --soft HEAD~1

V tomto příkazu –soft zajistí, že se vaše změny zachovají v pracovní oblasti a HEAD~1 odkazuje na potvrzení před aktuální. Změny z nedokončeného odevzdání zůstanou ve vašem pracovním adresáři a pracovní oblasti.

Zde je příklad výstupu:

Unstaged changes after reset:
M    file1.txt
M    file2.txt

To znamená, že změny v souborech1.txt a soubor2.txt jsou nyní zrušeny.

Pokud si přejete kompletně zrušit odevzdání a všechny související změny, můžete použít volbu –hard:

git reset --hard HEAD~1

S tímto příkazem buďte opatrní, protože trvale zahodí všechny změny z posledního potvrzení.

Pomocí git revert

Příkaz git revert vytvoří nové potvrzení, které zruší změny provedené v předchozím potvrzení. Toto je bezpečný způsob, jak vrátit změny, protože nemění existující historii odevzdání. Můžete jej použít takto:

git revert HEAD

Tento příkaz vytvoří nové potvrzení, které zruší změny provedené v posledním potvrzení.

Zde je příklad výstupu:

[master 0a9b2aa] Revert "Add new feature"
 1 file changed, 1 insertion(+), 2 deletions(-)

To znamená, že bylo vytvořeno nové potvrzení, které vrátí změny z předchozího potvrzení.

Vrácení závazku Git: Rozšířené příklady

Použití git reset: Další příklady

Resetování na konkrétní závazek

Pokud chcete vrátit zpět nejen poslední odevzdání, ale několik odevzdání, můžete tak učinit zadáním hash odevzdání namísto HEAD~1. Například:

git reset --soft 9fceb02

Tento příkaz přesune HEAD do odevzdání určeného hashem 9fceb02 a změny ze všech odevzdání po 9fceb02 budou zachovány ve zkušební oblasti.

Resetování neřízených změn

Pokud jste provedli změny, ale ještě jste je nepotvrdili a chcete tyto změny vrátit zpět, můžete použít git reset bez jakéhokoli odkazu na potvrzení:

git reset --hard

Tento příkaz vrátí zpět všechny nepřiřazené změny a vrátí váš pracovní adresář do stavu posledního potvrzení.

Použití git revert: Další příklady

Vrácení řady závazků

Pokud chcete vrátit zpět rozsah odevzdání, můžete rozsah zadat pomocí příkazu git revert. Například:

git revert HEAD~3..HEAD

Tento příkaz vytvoří nová potvrzení, která vrátí zpět změny provedené v posledních třech potvrzeních.

Vrácení konkrétního závazku

Pokud chcete vrátit zpět konkrétní potvrzení, které není nejnovější, můžete tak učinit zadáním hash odevzdání:

git revert 9fceb02

Tento příkaz vytvoří nové potvrzení, které zruší změny provedené v potvrzení určeném hashem 9fceb02.

Závěr

Git je mocný nástroj a jeho složitost může být pro začátečníky skličující. Pokud však jasně rozumíte tomu, jak zrušit potvrzení, můžete s jistotou procházet Git. Zda se rozhodnete použít git reset nebo git revert, závisí na vašich konkrétních potřebách a důsledcích každého příkazu. Pamatujte, že klíčem k ovládnutí Gitu je praxe a zkoumání.

Joshua James
Následuj mě
Nejnovější příspěvky uživatele Joshua James (vidět vše)

Napsat komentář