Ignorování změn souborů pomocí Gitu
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
Visual Studio 2022 | Visual Studio 2019 | Visual Studio 2017 | Visual Studio 2015
Git by neměl sledovat každý soubor v projektu. Dočasné soubory z vývojového prostředí, výstupy testů a protokolů jsou všechny příklady souborů, které pravděpodobně není potřeba sledovat. Pomocí různých mechanismů můžete Gitu sdělit, které soubory v projektu by se neměly sledovat, a zajistit, aby Git nenahlásil změny těchto souborů. U souborů, které Git nesleduje, můžete použít .gitignore
soubor nebo exclude
soubor. U souborů, které Git sleduje, můžete Gitu říct, aby je přestal sledovat a ignorovat změny.
V tomto článku získáte informace o těchto tématech:
- Ignorování změn v nesledovaných souborech pomocí
.gitignore
souboru - Ignorování změn v nesledovaných souborech pomocí
exclude
souboru - Zastavení sledování souboru a ignorování změn pomocí
git update-index
- Zastavení sledování souboru a ignorování změn pomocí
git rm
Použití souboru Gitignore
Gitu můžete říct, že nechcete sledovat určité soubory v projektu přidáním a konfigurací .gitignore
souboru. Položky v souboru se vztahují jenom na nesledované soubory a nebudou .gitignore
gitu bránit v vytváření sestav změn do sledovaných souborů. Sledované soubory jsou soubory, které byly potvrzeny a existují v posledním snímku Gitu.
Každý řádek v .gitignore
souboru určuje vzor hledání souborů vzhledem k cestě .gitignore
k souboru. Syntaxe.gitignore
je flexibilní a podporuje použití zástupných znaků k určení jednotlivých nebo více souborů podle názvu, přípony a cesty. Git odpovídá .gitignore
vzorům hledání souborům v projektu a určí, které soubory se mají ignorovat.
Obvykle přidáte .gitignore
soubor do kořenové složky projektu. Do libovolné složky projektu ale můžete přidat .gitignore
soubor, abyste věděli, které soubory se mají v této složce ignorovat, a její podsložky v libovolné vnořené hloubky. U více .gitignore
souborů mají vzory hledání souborů určené .gitignore
souborem v rámci složky přednost před vzory určenými .gitignore
souborem v nadřazené složce.
Soubor můžete vytvořit .gitignore
ručně a přidat do něj položky vzorů souborů nebo ušetřit čas stažením .gitignore
šablony pro vývojové prostředí z úložiště GitHub gitignore
. Jednou z výhod použití .gitignore
souboru je, že můžete potvrdit změny a sdílet je s ostatními.
Visual Studio 2019 verze 16.8 a novější poskytuje prostředí pro správu verzí Gitu při údržbě uživatelského rozhraní Git v Team Exploreru . Pokud chcete použít Team Explorer, zrušte v řádku nabídek zaškrtnutí políčkaMožnosti možností>>náhledu funkcí>Nového uživatelského prostředí Gitu. Funkce Gitu můžete používat z obou rozhraní zaměnitelně. Níže uvádíme souběžné porovnání toho, jak vytvořit a přidat položky do .gitignore
souboru.
Poznámka
Visual Studio automaticky vytvoří .gitignore
soubor pro vývojové prostředí sady Visual Studio při vytváření nového úložiště Git.
Visual Studio Git
V okně Změny Gitu klikněte pravým tlačítkem na libovolný změněný soubor, který má Git ignorovat, a zvolte Ignorovat tuto místní položku nebo ignorovattuto příponu. Tyto možnosti nabídky neexistují pro sledované soubory.
Možnost Ignorovat tuto místní položku přidá do .gitignore
souboru novou položku a odebere vybraný soubor ze seznamu změněných souborů.
Možnost Ignorovat tuto příponu přidá do .gitignore
souboru novou položku a odebere všechny soubory se stejnou příponou jako vybraný soubor ze seznamu změněných souborů.
Obě možnosti vytvoří .gitignore
soubor, pokud ještě v kořenové složce úložiště neexistuje, a přidá do něj položku.
Úprava souboru gitignore
Každá položka v .gitignore
souboru je buď: vzor hledání souborů, který určuje, které soubory se mají ignorovat, komentář, který začíná #
, nebo prázdný řádek (pro čitelnost). Syntaxe.gitignore
je flexibilní a podporuje použití zástupných znaků k určení jednotlivých nebo více souborů podle názvu, přípony a cesty. Všechny cesty k vzorům hledání souborů jsou relativní k .gitignore
souboru.
Tady je několik příkladů běžných vzorů hledání souborů:
# Ignore all files with the specified name.
# Scope is all repo folders.
config.json
# Ignore all files with the specified extension.
# Scope is all repo folders.
*.json
# Add an exception so as to not ignore a file with the specified name.
# Scope is all repo folders.
!package.json
# Ignore a file with the specified name.
# Scoped to the 'logs' subfolder.
/logs/test.logfile
# Ignore all files with the specified name.
# Scoped to the 'logs' subfolder and all folders beneath it.
/logs/**/test.logfile
# Ignore all files in the 'logs' subfolder.
/logs/
Jakmile upravíte .gitignore
soubor, Git aktualizuje seznam souborů, které ignoruje.
Poznámka
Uživatelé Systému Windows musí místo zpětného lomítka použít oddělovač cesty lomítka v .gitignore
souboru. Při zadávání složky musí všichni uživatelé přidat koncové /
hodnoty.
Použití globálního souboru Gitignore
Soubor můžete určit .gitignore
jako globální ignorovaný soubor, který se vztahuje na všechna místní úložiště Git. K tomu použijte git config
následující příkaz:
git config core.excludesfile <gitignore file path>
Globální .gitignore
soubor pomáhá zajistit, že Git nepíše určité typy souborů, jako jsou kompilované binární soubory, v jakémkoli místním úložišti. Vzory vyhledávání souborů v souboru specifickém pro .gitignore
úložiště mají přednost před vzory v globálním .gitignore
souboru.
Použití souboru vyloučení
Do souboru ve .git/info/
složce místního úložiště můžete také přidat položky exclude
vzoru hledání souborů. Soubor exclude
informuje Git, které nesledované soubory se mají ignorovat, a používá stejnou syntaxi vzoru hledání souborů jako .gitignore
soubor.
Položky v exclude
souboru se vztahují pouze na nesledované soubory a nebrání Gitu hlásit změny na potvrzené soubory, které už sleduje. Na úložiště existuje pouze jeden exclude
soubor.
Vzhledem k tomu, že Git soubor nepíše nebo nasdílí exclude
, můžete ho bezpečně použít k ignorování souborů v místním systému, aniž by to mělo vliv na ostatní uživatele.
Ignorování změn pomocí indexu aktualizací Gitu
Někdy je vhodné dočasně zastavit sledování místního souboru úložiště a git ignorovat změny souboru. Můžete například chtít přizpůsobit soubor nastavení pro vaše vývojové prostředí bez rizika potvrzení změn. Uděláte to tak, že spustíte git update-index
příkaz s příznakem skip-worktree
:
git update-index --skip-worktree <file path>
Pokud chcete pokračovat ve sledování, spusťte git update-index
příkaz s příznakem --no-skip-worktree
.
Nebo můžete dočasně zastavit sledování souboru a git ignorovat změny souboru pomocí git update-index
příkazu s příznakem assume-unchanged
. Tato možnost je méně účinná než skip-worktree
příznak, protože assume-unchanged
příznak lze vrátit zpět operací Gitu pull
, která mění obsah souboru.
git update-index --assume-unchanged <file path>
Pokud chcete pokračovat ve sledování, spusťte git update-index
příkaz s příznakem --no-assume-unchanged
.
Ignorování změn pomocí Gitu rm
Položky v .gitignore
souboru nebo exclude
souboru nemají žádný vliv na soubory, které Git již sleduje. Git sleduje soubory, které jste předtím potvrdili. Pokud chcete trvale odebrat soubor ze snímku Gitu, aby ho Git přestal sledovat, ale bez jeho odstranění ze systému souborů spusťte následující příkazy:
git rm --cached <file path>
git commit <some message>
Potom pomocí .gitignore
položky souboru nebo exclude
souboru zabráníte Gitu v vytváření sestav změn v souboru.