Git'i kasutamisel meeldib meile, et failid nagu logid, ajutised failid, kompileeritud vahefailid jne ei saadetaks koodihoidlasse, seega peame kehtestama vastavad ignoreerimise reeglid, et ignoreerida nende failide commit'i.
Git ignoreerib faili commitide meetodit
On kolm viisi, kuidas ignoreerida faile, mida Gitis ei taha commiteerida.
Määra oma Git projektis .gitignore fail
Seda haldatakse, defineerides projekti kaustas .gitignore faili, kus vastavad ignoreerimise reeglid on määratletudPraegune kaustFaili Git commit käitumine .gitignore faile saab esitada avalikesse hoidlatesse, mis tähendab, et kõik projekti arendajad jagavad kindlat ignoreerimise reeglite komplekti. .gitingore failis määra iga rea ignoreerimise reegel, järgides vastavat süntaksit. Näiteks:
Määrake välistavad failid Giti projekti seadetes
See on lihtsalt ajutine projekti käitumise spetsifikatsioon, mis nõuab .git/info/exclude faili muutmist praeguse projekti all ja seejärel faili kirjutamist, millele commit tuleb ignoreerida. Pane tähele, et ignoreeritud failide juurkataloog, mis on sel viisil määratud, on projekti juur.
.gitignore fail, mis määratleb Git globaalset
Lisaks sellele, et saad oma projektis defineerida .gitignore faile, saad seadistada ka globaalse git .gitignore faili, mis haldab kõigi Git-projektide käitumist. See lähenemine ei ole jagatud erinevate projektiarendajate vahel ning on käitumine Git-rakenduse tasemel projekti peal.
See nõuab ka vastava .gitignore faili loomist, mida saab paigutada ükskõik kuhu. Seejärel seadista Git järgmise käsuga:
Git eirab reegleid
Üksikasjalike eiramisreeglite kohta vaadake ametlikku ingliskeelset dokumentatsiooni aadressil:Hüperlingi sisselogimine on nähtav.
Git ignoreerib reeglite prioriteeti
.gitingore failis määra iga rea ignoreerimise reegel ning Git kontrollib mitut allikat reeglite eiramisel, prioriteediga (kõrgeimast madalaimani):
- Loe käsurealt olemasolevaid ignoreeri reegleid
- Praeguse kataloogi määratletud reeglid
- Vanemkataloogi määratletud reeglid on rekursiivsed
- $GIT_DIR/info/exclude fail
- core.excludesfile
Git ignoreerib reeglite sobitamise süntaksit
.gitignore failis on iga rea ignore'i reegli süntaks järgmine:
- Tühikud, mis ei sobi suvaliste failidega, saab kasutada eraldajatena ning neid saab vältida tagasikaldkriipsudega
- # Faili identifitseerimise kommentaari alguses saab põgeneda tagurpidi kaldkriipsu abil
- ! Skeemi identifitseerimine alguses on negatiivne ja fail lisatakse uuesti; kui faili vanemkataloog on välistatud, kasuta ! ei ole enam kaasatud. Põgenemist saab teha tagurpidi kaldkriipsu abil
- / 结束的模式只匹配文件夹以及在该文件夹路径下的内容,但是不匹配该文件
- / 开始的模式匹配项目跟目录
- Kui muster ei sisalda kaldkriipsu, vastab see sisule võrreldes praeguse .gitignore failiteekonnaga, ja kui muster ei ole .gitignore failis, siis projektijuure suhtes
- ** Sobivaid mitmetasandilisi katalooge saab kasutada alguses, keskel ja lõpus
- ? Individuaalsete märkide universaalne sobitamine
- [ ] Universaalne individuaalsete tegelaste sobituste nimekiri
Levinumad sobitamise näited:
- bin/: ignoreerib praeguse tee all olevat bin kausta, kõik selle kausta all olevad failid jäetakse tähelepanuta, mitte bin faili
- /bin: 忽略根目录下的bin文件
- /*.c: 忽略 cat.c,不忽略 build/cat.c
- debug/*.obj: Ignoreeri debug/io.obj, ära ignoreeri debug/common/io.obj ja tools/debug/io.obj
- **/foo: ignoreeri /foo, a/foo, a/b/foo jne
- a/**/b: ignoreeri a/b, a/x/b, a/x/y/b jne
- !/bin/run.sh: Ära ignoreeri run.sh faile bin kataloogis
- *.log: Ignoreeri kõiki .log faile
- config.php: 忽略当前路径的 config.php 文件
.gitignore reegel ei jõustu
.gitignore saab ignoreerida ainult faile, mida algselt ei jälgita, ning .gitignore muutmine on ebaefektiivne, kui mõned failid on juba versiooniversioonis kaasatud.
Lahendus on kustutada kohalik vahemälu (muuta see jälgimata olekuks) enne tegevuse tegemist:
(Lõpp)
|