Android

Ignorování souborů a adresářů v gitu (.gitignore)

Writing 2D Games in C using SDL by Thomas Lively

Writing 2D Games in C using SDL by Thomas Lively

Obsah:

Anonim

Když pracujete na projektu, který používá Git, často budete chtít vyloučit konkrétní soubory nebo adresáře, aby byly poslány do vzdáleného úložiště.

Soubor .gitignore určuje, jaké nezpracované soubory by měl Git ignorovat.

Jaké soubory by měly být ignorovány?

Ignorované soubory jsou obvykle soubory specifické pro platformu nebo automaticky vytvořené soubory ze sestavovacích systémů. Mezi běžné příklady patří:

  • Soubory runtime, jako je protokol, zámek, mezipaměť nebo dočasné soubory. Soubory s citlivými informacemi, jako jsou hesla nebo klíče API. Kombinovaný kód, například .class nebo .o .D závislostní adresáře, například /vendor nebo /node_modules .Build adresáře, jako jsou /public , /out nebo /dist .System soubory jako .DS_Store nebo Thumbs.db IDE nebo konfigurační soubory textového editoru.

.gignignore

Lokální soubor .gitignore je obvykle umístěn v kořenovém adresáři úložiště. Můžete však vytvořit více souborů .gitignore v různých podadresářích v úložišti. Vzory v souborech .gitignore jsou porovnávány vzhledem k adresáři, kde je soubor umístěn.

Vzory definované v souborech, které jsou umístěny v adresářích nižší úrovně (podadresáře), mají přednost před vzory v adresářích vyšší úrovně.

Lokální soubory .gitignore jsou sdíleny s ostatními vývojáři a měly by obsahovat vzory, které jsou užitečné pro všechny ostatní uživatele úložiště.

Pravidla pro osobní ignorování

Vzory, které jsou specifické pro vaše lokální úložiště a neměly by být distribuovány do jiných úložišť, by měly být nastaveny v souboru .git/info/exclude .

Tento soubor můžete například použít k ignorování vygenerovaných souborů z vašich osobních projektových nástrojů.

Globální .gitignore

Git také umožňuje vytvořit globální soubor .gitignore , kde můžete definovat pravidla ignorování pro každé úložiště Git ve vašem lokálním systému.

Soubor lze pojmenovat cokoli, co se vám líbí a uložit na libovolném místě. Nejběžnějším místem pro uložení tohoto souboru je domovský adresář. Musíte soubor vytvořit ručně a nakonfigurovat Git, aby jej používal.

Chcete-li například nastavit soubor ~/.gitignore_global jako soubor globálního ignorování Git, proveďte následující:

  1. Vytvořte soubor:

    touch ~/.gitignore_global

    Přidejte soubor do konfigurace Git:

    git config --global core.excludesfile ~/.gitignore_global

    Otevřete soubor pomocí textového editoru a přidejte do něj pravidla.

Globální pravidla jsou zvláště užitečná pro ignorování konkrétních souborů, které se nikdy nechcete zavázat, jako jsou soubory s citlivými informacemi nebo kompilované spustitelné soubory.

Ignorování dříve odevzdaných souborů

Soubory ve vaší pracovní kopii mohou být sledovány nebo bez sledování.

Chcete-li ignorovat soubor, který již byl dříve přijat, musíte zrušit rozložení a odebrat soubor z indexu a poté přidat pravidlo pro soubor v .gitignore :

git rm --cached filename

Volba - --cached říká git, aby --cached soubor z pracovního stromu, ale pouze aby jej odstranilo z indexu.

Chcete-li adresář rekurzivně odebrat, použijte volbu -r :

git rm --cached filename

Při opakovaném mazání souborů použijte volbu -n která provede „suchý běh“ a ukáže vám, které soubory budou smazány:

git rm -r -n directory

Ladění souboru .gitignore

Někdy může být obtížné určit, proč je konkrétní soubor ignorován, zejména pokud používáte více souborů .gitignore nebo složitých vzorů. Zde se hodí příkaz git check-ignore s volbou -v , který říká git, aby zobrazil podrobnosti o odpovídajícím vzoru.

Chcete-li například zkontrolovat, proč je soubor www/yarn.lock ignorován, spusťte:

git check-ignore -v www/yarn.lock

Výstup ukazuje cestu k souboru gitignore , číslo odpovídající linky a skutečný vzor.

www/.gitignore:31:/yarn.lock www/yarn.lock

Příkaz také akceptuje více argumentů jako argumenty a soubor nemusí existovat ve vašem pracovním stromu.

Zobrazení všech ignorovaných souborů

Příkaz git status s volbou --ignored zobrazí seznam všech ignorovaných souborů:

git status --ignored

Závěr

Soubor .gitignore umožňuje vyloučit kontrolu souborů z úložiště. Soubor obsahuje vzory globbing, které popisují, které soubory a adresáře by měly být ignorovány.

gitignore.io je online služba, která vám umožní generovat soubory .gitignore pro váš operační systém, programovací jazyk nebo IDE.