Při používání Gitu rádi nemáme soubory jako logy, dočasné soubory, zkompilované mezilehlé soubory atd., které nejsou odesílány do kódového repozitáře, takže musíme nastavit odpovídající pravidla ignorování, která ignorují commit těchto souborů.
Git ignoruje metodu commitů souborů
Existují tři způsoby, jak ignorovat soubory, které nechcete commitovat v Gitu.
Definujte soubor .gitignore ve svém projektu Git
To se řeší definováním souboru .gitignore ve složce projektu, kde jsou definována odpovídající pravidla ignorováníAktuální složkaGit commit chování souboru pod .gitignore soubory lze odesílat do veřejných repozitářů, což znamená, že všichni vývojáři v rámci projektu sdílejí definovanou sadu ignorovacích pravidel. V souboru .gitingore určete pravidlo ignorování na každém řádku podle odpovídající syntaxe. Například:
Specifikujte soubory vyloučení v nastavení projektu Git
Jde jen o dočasnou specifikaci chování projektu, která vyžaduje upravit soubor .git/info/exclude v aktuálním projektu a pak napsat soubor, ke kterému je potřeba commit ignorovat. Všimněte si, že kořenový adresář ignorovaných souborů specifikovaných tímto způsobem je kořen projektu.
.gitignore soubor, který definuje Git global
Kromě možnosti definovat soubory .gitignore ve vašem projektu můžete také nastavit globální soubor .gitignore pro správu chování všech Git projektů. Tento přístup není sdílen mezi různými vývojáři projektů a jedná se o chování na úrovni aplikace Git nad samotným projektem.
To také vyžaduje vytvoření odpovídajícího souboru .gitignore, který lze umístit kamkoli. Poté nakonfigurujte Git následujícím příkazem:
Git ignoruje pravidla
Pro podrobná pravidla ignorování se prosím podívejte na oficiální anglickou dokumentaci na adrese:Přihlášení k hypertextovému odkazu je viditelné.
Git ignoruje prioritu pravidel
V souboru .gitingore určete pravidlo ignorování pro každý řádek a Git při ignorování pravidel kontroluje více zdrojů s následující prioritou (od nejvyšší po nejnižší):
- Přečti si dostupná pravidla ignorování z příkazového řádku
- Pravidla definovaná aktuálním adresářem
- Pravidla definovaná nadřazeným adresářem jsou rekurzivní
- $GIT_DIR/info/exclude soubor
- core.excludesfile
Git ignoruje syntaxi sladění pravidel
V souboru .gitignore je syntax pravidla ignore pro každý řádek následující:
- Mezery, které neodpovídají libovolným souborům, lze použít jako oddělovače a lze je uniknout zpětnými lomítkami
- # Komentář k identifikaci souboru na začátku lze uniknout pomocí zpětného lomení
- ! Identifikace schématu na začátku je negativní a soubor bude znovu zahrnut, pokud je rodičovský adresář souboru vyloučen, použijte ! už nebude zahrnut. Únik lze provést pomocí zpětného lomení
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- Pokud vzor neobsahuje lomítko (slash), odpovídá obsahu vzhledem k aktuální cestě k souboru .gitignore, a pokud vzor není v souboru .gitignore, tak vzhledem ke kořeni projektu
- ** Na začátku, uprostřed i na konci lze použít odpovídající víceúrovňové katalogy
- ? Univerzální párování jednotlivých znaků
- [ ] Univerzální seznam jednotlivých postav
Běžné příklady párování:
- bin/: ignoruje složku bin pod aktuální cestou, vše pod touto složkou je ignorováno, ne soubor bin.
- /bin: 忽略根目录下的bin文件
- /*.c: 忽略 cat.c,不忽略 build/cat.c
- debug/*.obj: Ignorujte debug/io.obj, neignorujte debug/common/io.obj a nástroje/debug/io.obj
- **/foo: ignorujte /foo, a/foo, a/b/foo atd
- a/**/b: ignorovat a/b, a/x/b, a/x/y/b atd
- !/bin/run.sh: Neignorujte run.sh soubory v adresáři bin
- *.log: Ignorujte všechny .log soubory
- config.php: 忽略当前路径的 config.php 文件
Pravidlo .gitignore nenabývá účinnosti
.gitignore může ignorovat pouze soubory, které nejsou původně sledovány, a úprava .gitignore je neúčinná, pokud některé soubory již byly zahrnuty do verzování.
Řešením je smazat lokální cache (změnit ji na nesledovaný stav) před commitem:
(Konec)
|