Pri používaní Gitu máme radi, aby súbory ako logy, dočasné súbory, kompilované medzisúbory a podobne neboli odoslané do repozitára kódu, takže musíme nastaviť príslušné pravidlá ignorovania, ktoré tieto súbory ignorujú.
Git ignoruje metódu commitov súborov
Existujú tri spôsoby, ako ignorovať súbory, ktoré nechcete commitovať v Gite.
Definujte súbor .gitignore vo svojom Git projekte
Toto sa rieši definovaním súboru .gitignore v priečinku v projekte, kde sú definované príslušné pravidlá ignorovaniaAktuálny priečinokGit commit správanie súboru pod .gitignore súbory je možné odosielať do verejných repozitárov, čo znamená, že všetci vývojári v projekte zdieľajú definovanú sadu pravidiel ignorovania. V súbore .gitingore špecifikujte pravidlo ignorovania na každom riadku podľa príslušnej syntaxe. Napríklad:
Špecifikujte vylučovacie súbory v nastaveniach projektu Git
Ide len o dočasnú špecifikáciu správania projektu, ktorá vyžaduje úpravu súboru .git/info/exclude v aktuálnom projekte a následné zapísanie súboru, ku ktorému je potrebné commit ignorovať. Všimnite si, že koreňový adresár ignorovaných súborov špecifikovaných týmto spôsobom je koreňový adresár projektu.
.gitignore súbor, ktorý definuje Git globálny
Okrem možnosti definovať .gitignore súbory vo vašom projekte môžete tiež nastaviť globálny git .gitignore súbor na správu správania všetkých Git projektov. Tento prístup nie je zdieľaný medzi rôznymi vývojármi projektov a je to správanie na úrovni Git aplikácie nad projektom.
To tiež vyžaduje vytvorenie zodpovedajúceho súboru .gitignore, ktorý je možné umiestniť kamkoľvek. Potom nakonfigurujte Git nasledujúcim príkazom:
Git ignoruje pravidlá
Pre podrobné pravidlá ignorovania sa prosím pozrite na oficiálnu anglickú dokumentáciu na adrese:Prihlásenie na hypertextový odkaz je viditeľné.
Git ignoruje prioritu pravidiel
V súbore .gitingore špecifikujte pravidlo ignorovania pre každý riadok a Git kontroluje viacero zdrojov pri ignorovaní pravidiel s nasledujúcou prioritou (od najvyššej po najnižšiu):
- Prečítaj si dostupné pravidlá ignorovania z príkazového riadku
- Pravidlá definované aktuálnym adresárom
- Pravidlá definované rodičovským adresárom sú rekurzívne
- $GIT_DIR/info/vylúčiť súbor
- core.excludesfile
Git ignoruje syntax zhody pravidiel
V súbore .gitignore je syntax pravidla ignorovania pre každý riadok nasledovná:
- Medzery, ktoré nezodpovedajú ľubovoľným súborom, môžu byť použité ako oddeľovače a dajú sa uniknúť spätnými lomkami
- # Komentár o identifikácii súboru na začiatku možno uniknúť pomocou spätnej čiary
- ! Identifikácia schémy na začiatku je negatívna a súbor bude opäť zahrnutý, ak je rodičovský adresár súboru vylúčený, použite ! už nebude zahrnutý. Únik sa dá vykonať pomocou spätného strihu
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- Ak vzor neobsahuje lomku, zodpovedá obsahu vzhľadom na aktuálnu cestu k súboru .gitignore, a ak vzor nie je v súbore .gitignore, vzhľadom na koreňový bod projektu
- ** Zodpovedajúce viacúrovňové katalógy môžu byť použité na začiatku, v strede aj na konci
- ? Univerzálne párovanie jednotlivých znakov
- [ ] Univerzálny zoznam zápasov jednotlivých postáv
Bežné príklady párovania:
- bin/: ignoruje priečinok bin pod aktuálnou cestou, všetko pod týmto priečinkom je ignorované, nie súbor 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: ignoruj /foo, a/foo, a/b/foo, atď
- a/**/b: ignorujte a/b, a/x/b, a/x/y/b, atď
- !/bin/run.sh: Neignorujte run.sh súbory v adresári bin
- *.log: Ignorujte všetky .log súbory
- config.php: 忽略当前路径的 config.php 文件
Pravidlo .gitignore nenadobúda účinnosť
.gitignore môže ignorovať iba súbory, ktoré nie sú pôvodne sledované, a úprava .gitignore je neúčinná, ak už niektoré súbory boli zahrnuté do verzionovania.
Riešením je vymazať lokálnu cache (zmeniť ju na nesledovaný stav) pred commitovaním:
(Koniec)
|