Úvod
Jako nástroj pro řízení projektů umožňuje Git uživatelům zařadit do fronty skupinu změn předtím, než se zapojí do projektu. Tato fronta se nazývá index a soubory mohou být odstraněny před jejich potvrzením.
Tato příručka vám ukáže, jak odstranit / zrušit fázi souborů z pracovní oblasti v git.

Předpoklady
- Stávající instalace Git
- Projekt Git
- Okno terminálu / příkazový řádek
- Linux:Aktivity> Vyhledávání> Terminál
- Windows:Klikněte pravým tlačítkem Start> Příkazový řádek (nebo Windows PowerShell)
Zrušit fázi všech souborů na Git
Chcete-li odstranit všechny změny z přípravného indexu, zadejte následující příkaz:
git reset
Tím odstraníte všechny změny z pracovní oblasti. Nesmaže žádné soubory – git add
příkaz lze použít k opětovnému přidání změn zpět do přípravného indexu.

Staging index se nachází na .git/index . Zapadá doprostřed procesu odevzdání Git:
- Soubory se vytvářejí nebo upravují během vývoje projektu
- Uživatelé rozhodnou, které změny společně publikují v indexu pomocí
git add
příkaz - Uživatelé se zavazují tyto změny pod názvem a popisem
git reset
příkaz se používá k vymazání indexu vyčistit a přidat změny od začátku.
Odstranění fáze jednoho souboru nebo adresáře
git reset
příkaz může být nasměrován do jednoho souboru nebo adresáře.
Použijte například následující příkaz:
git reset location/of/file.ext
git reset directory/location

Použití souboru .gitignore
Soubor .gitignore file je soubor, který lze přidat do libovolného adresáře v projektu. Je to jednoduchý textový soubor a nic, co se do něj přidá, nebude zinscenováno ani zahrnuto do odevzdání.
Pomocí textového editoru vytvořte .gitignore soubor v adresáři projektu. Poté soubor upravte a přidejte názvy položek, které mají být vyloučeny z odevzdání.
Například soubory protokolu vývoje obvykle nemusí být součástí potvrzení. Ty lze přidat podle názvu do .gitignore soubor.
Uvolnění zadaných souborů
git reset
příkaz může povolit změny souborů a adresářů, které již byly potvrzeny.
Základní příkaz pro zrušení fáze odevzdání je následující:
git reset [option] [commit]
V [option]
určete typ prováděného resetu. V [commit]
zadejte název potvrzení, které se resetuje.
Odstranění závazků měkké
Použijte následující příkaz k provedení měkkého zrušení fáze:
git reset --soft [commit]

Měkký reset má následující účinky:
- Aktualizuje referenční ukazatele
- Index přípravy je nedotčen
- Pracovní adresář je nedotčen
Odstranění závazku tvrdě
K provedení tvrdého zrušení fáze použijte následující příkaz:
git reset --hard [commit]

Tvrdé reset má následující účinky:
- Aktualizuje referenční ukazatele na zadané potvrzení
- Index přípravy je resetován tak, aby odpovídal zadanému potvrzení
- Pracovní adresář je resetován tak, aby odpovídal zadanému potvrzení
- Všechny nevyřízené změny v pracovním adresáři a pracovním indexu budou ztraceny
Možnost smíšeného unstage
Pokud není zadána žádná možnost, provede se git reset
příkaz provede smíšené unstage:
git reset --mixed [commit]
nebo
git reset [commit]

To má následující účinky:
- Aktualizuje referenční ukazatele
- Obnoví pracovní index na zadané potvrzení
- Změny, které jsou vráceny z pracovního indexu, se přesunou do pracovního adresáře