Sdílet prostřednictvím


Ignorování změn souborů pomocí Gitu

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Ne každý soubor ve vašem projektu musí být sledován Gitem. Mezi příklady souborů, které obvykle nepotřebují sledování, patří dočasné soubory z vývojového prostředí, výstupy testů a protokoly.

Pomocí několika mechanismů můžete informovat Git, které soubory v projektu by se neměly sledovat a zajistit, aby Git neoznamoval změny těchto souborů. U souborů, které Git nesleduje, můžete použít .gitignore nebo exclude soubor. U souborů, které Git už sleduje, můžete Gitu dát pokyn, aby je přestal sledovat a ignoroval všechny změny.

Požadavky

Kategorie Požadavky
Přístup k projektu Člen projektu.
Oprávnění - Zobrazit kód v soukromých projektech: Alespoň Základní přístup.
- Klonování nebo přispívání do kódu v soukromých projektech: Člen skupiny zabezpečení Contributors nebo osoba s odpovídajícími oprávněními v projektu.
– Nastavte oprávnění pro větev nebo úložiště: Správa oprávnění oprávnění pro větev nebo úložiště.
– Změnit výchozí větev: Upravit zásady oprávnění pro úložiště.
– Import úložiště: Člen skupiny zabezpečení Projektoví administrátoři nebo oprávnění Vytvořit úložiště na úrovni projektu Git nastavená na Povolit. Další informace najdete v tématu Nastavení oprávnění úložiště Git.
Služby Repozitáře povoleny.
Nástroje Volitelný. Použijte příkazy az repos: Azure DevOps CLI.

Poznámka:

Ve veřejných projektech mají uživatelé s přístupem Stakeholder plný přístup do Azure Repos, kde mohou zobrazovat, klonovat a přispívat ke kódu.

Kategorie Požadavky
Přístup k projektu Člen projektu.
Oprávnění - Zobrazit kód: Alespoň základní přístup.
- Klonování nebo přispívání do kódu: Člen skupiny zabezpečení Přispěvatelé nebo odpovídající oprávnění v rámci projektu.
Služby Repozitáře povoleny.

Použijte soubor .gitignore

Gitu můžete říct, že nemá sledovat určité soubory v projektu přidáním a konfigurací souboru .gitignore. Projděte si následující klíčové body:

  • nesledované soubory: Položky v souboru .gitignore se vztahují pouze na nesledované soubory. Nezabrání Gitu v hlášení změn sledovaných souborů. Sledované soubory jsou ty, které byly potvrzeny a existují v posledním snímku Gitu.
  • vzory hledání souborů: Každý řádek v souboru .gitignore určuje vzor hledání souborů vzhledem k cestě k souboru .gitignore. 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 porovnává vzory .gitignore vyhledávání se soubory ve vašem projektu, aby určil, které soubory ignorovat.
  • Umístění: Obvykle přidáte soubor .gitignore do kořenové složky projektu. Do libovolné složky projektu ale můžete přidat soubor .gitignore a dát Gitu vědět, které soubory se mají v této složce a jejích podsložkách ignorovat v libovolné vnořené hloubky. U více .gitignore souborů mají vzory hledání souborů, které soubor .gitignore určuje v rámci složky, přednost před vzory, které soubor .gitignore určuje v nadřazené složce.
  • vytvoření: Ručně můžete vytvořit soubor .gitignore a přidat do něj položky vzoru souboru. Nebo můžete ušetřit čas stažením šablony .gitignore pro vaše vývojové prostředí z úložiště GitHub gitignore.
  • výhody: Jednou z výhod použití souboru .gitignore je, že můžete provést změny a sdílet je s ostatními.

Poznámka:

Visual Studio automaticky vytvoří soubor .gitignore pro vývojové prostředí Visual Studio při vytvoření úložiště Git.

Visual Studio 2022 poskytuje prostředí pro správu verzí Gitu prostřednictvím nabídky Git, změn Gitu a místních nabídek v Průzkumníku řešení . Visual Studio 2019 verze 16.8 také nabízí uživatelské rozhraní Git Team Exploreru. Další informace najdete v kategorii Visual Studio 2019 – Team Explorer.

V okně Git Changes klikněte pravým tlačítkem na libovolný změněný soubor, který má Git ignorovat, a potom vyberte Ignorovat tuto místní položku nebo Ignorovat toto rozšíření. Tyto možnosti nabídky neexistují pro sledované soubory.

Snímek obrazovky s možnostmi kontextové nabídky pro upravené soubory v okně Git změny v sadě Visual Studio

  • Možnost Ignorovat tuto místní položku přidá novou položku do souboru .gitignore a odebere vybraný soubor ze seznamu změněných souborů.
  • Možnost Ignorovat tuto příponu přidá do souboru .gitignore 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ří soubor .gitignore, 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 souboru .gitignore je buď: vzor hledání souborů, který určuje, které soubory se mají ignorovat, komentář, který začíná znaménkem čísla (#) nebo prázdným řádkem (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 pro vzory hledání souborů jsou relativní vzhledem k souboru .gitignore.

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 to prevent ignoring 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 soubor .gitignore, Git aktualizuje seznam souborů, které ignoruje.

Poznámka:

Uživatelé Systému Windows musí jako oddělovač cesty v souboru .gitignore použít lomítko (/) místo zpětného lomítka (\). Všichni uživatelé musí při zadávání složky přidat koncové lomítko.

Použijte globální soubor .gitignore

Soubor .gitignore můžete určit jako globální ignorovaný soubor, který platí pro všechna místní úložiště Git. K tomu použijte příkaz git config následujícím způsobem:

git config core.excludesfile <gitignore file path>

Globální soubor .gitignore pomáhá zajistit, že Git necommitne určité typy souborů, jako jsou kompilované binární soubory, do jakéhokoli místního úložiště. Vzory hledání souborů v souboru specifickém pro úložiště .gitignore mají přednost před vzory v globálním souboru .gitignore.

Použijte vylučovací soubor

Do souboru exclude ve složce .git/info/ místního úložiště můžete také přidat položky vzorů hledání souborů. Soubor exclude umožňuje Gitu zjistit, které nesledované soubory se mají ignorovat. Používá stejnou syntaxi pro vzory hledání souborů jako soubor .gitignore.

Položky v souboru exclude se vztahují pouze na nesledované soubory. Gitu nebrání ve hlášení změn na potvrzené soubory, které už sleduje. Pro každé úložiště existuje pouze jeden exclude soubor.

Vzhledem k tomu, že Git soubor exclude nesdílí ani nenasdílí, 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í.

Použití git update-indexu k ignorování změn

Někdy je vhodné dočasně zastavit sledování místního souboru úložiště a aby Git ignoroval změny v 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 příkaz git update-index s příznakem skip-worktree:

git update-index --skip-worktree <file path>

Pokud chcete pokračovat ve sledování, spusťte příkaz git update-index s příznakem --no-skip-worktree.

Nebo můžete dočasně zastavit sledování souboru a git ignorovat změny souboru pomocí příkazu git update-index s příznakem assume-unchanged. Tato možnost je méně účinná než příznak skip-worktree, protože operace pull Gitu, která mění obsah souboru, může vrátit příznak assume-unchanged.

git update-index --assume-unchanged <file path>

Pokud chcete pokračovat ve sledování, spusťte příkaz git update-index s příznakem --no-assume-unchanged.

Ignorování změn pomocí git rm

Položky v souboru .gitignore nebo exclude nemají žádný vliv na soubory, které Git už sleduje. Git sleduje soubory, které jste dříve potvrdili. Pokud chcete trvale odebrat soubor ze snímku Gitu, aby ho Git přestal sledovat, ale aniž by ho odstranil ze systému souborů, spusťte následující příkazy:

git rm --cached <file path>
git commit <some message>

Potom pomocí položky souboru .gitignore nebo exclude zabráníte Git ve vykazování změn souboru.

Další kroky