Mis on .gitignore-fail ja kuidas seda konfigureeritakse?


Gitignore fail on teie giti hoidlasse paigutatud tekstifail, mis käsib gitil mitte jälgida teatud faile ja kaustu, mida te ei soovi oma põhihoidlasse üles laadida. Sellel on palju kasutusvõimalusi ja peaaegu alati peate selle konfigureerima, kui seadistate uut hoidlat.

Mis on .gitignore'i mõte?

Enamikus projektides on koodi / konfiguratsiooni ja konfiguratsiooni vahel erinevus loodud failid selle koodi või konfiguratsiooni kohta. Viimane ei ole üldiselt kasulik ja seda võib tavaliselt ignoreerida.

Tavaliselt soovite lihtsalt koodi ja konfiguratsiooni jälgimist giti kaudu. Selle põhjuseks on asjaolu, et loodud failid on lühiajalised ja kui need kustutate, saate need lihtsalt uuesti genereerida. Sageli pole mõtet neid süüdistada, sest nad teevad asjad lihtsalt keeruliseks ja põhjustavad tarbetuid konflikte.



See on lai määratlus, nii et vaatame näidet. Node JS projektides on kaust nimega |_+_| mis sisaldab kõiki koodi käitamiseks vajalikke väliseid pakette. Saate selle kataloogi eemaldada ja täielikult uuesti üles ehitada, käivitades |_+_|, mis kasutab |_+_| seaded pakettide otsimiseks.

Mis mõte on siis |_+_| omamisel kaust Gitis? Seda tõesti pole, kuna see on keerulisem, võib põhjustada probleeme ja võib paljudel juhtudel isegi drastiliselt suurendada Giti hoidla suurust.

Kui ignoreerite kogu kataloogi, saavad kõik teie kolleegid siiski luua oma kohaliku koopia failist |_+_| menetlust. Selle asemel lihtsalt |_+_| seda tuleks Gitis jälgida. Enamik asju, mis lisatakse |_+_| järgige seda mustrit. Koostage artefakte, näiteks |_+_| kausta, ärge neid siduge, kuna need on koodi enda otsene tulemus.

Lisada saab ka muid asju |_+_| mugavuseks. MacOS genereerib süsteemifaile nimega |_+_|, mida saate alati ignoreerida. Võib-olla salvestate API võtmed kaustas |_+_| et te ei soovi, et teid allika juhtimises jälgitaks, saate need ka lisada. Vahemälu, logisid ja muid väljundeid saab üldiselt ignoreerida.

.gitignore kasutamine

Peate oma projekti juurtes looma faili nimega |_+_|, ilma laiendusteta, kus teie |_+_| kataloog on leitud. Seda saate teha oma failibrauseris või käsurealt mis tahes CLI tekstiredaktoriga:

|_+_|

Saate seda konfigureerida mitmel viisil, kuid peamised tööriistad on järgmised:

  • |_+_| metamärke, mis vastavad mis tahes tekstile ja mida saab kasutada mis tahes kataloogi või faili sobitamiseks, olenemata selle laiendist.
  • |_+_|, mis toimib omamoodi valge nimekirjana, mis keelab varem välistatud faili. Peamine probleem on selles, et see lisab faili valgesse nimekirja ainult siis, kui see oli otse välistatud ja ei tööta täielikult välistatud kataloogides olevate failide puhul.
  • |_+_|, mis vastab rekursiivselt kõigele kataloogides. Näiteks |_+_| sobib mis tahes JSON-failiga, olenemata selle asukohast ja |_+_| vastab rekursiivselt igale kaustas olevale failile. See on kasulik, kui soovite lisada valgesse nimekirja ja mitte eirata kogu kataloogi.

Näiteks võib Node JS gitignore välja näha selline:

|_+_|

Lubatud failid märgiga |_+_| võib olla paljude konfiguratsioonide jaoks väga kasulik. Näiteks ühes minu projektis oli mul tööriist nimega |_+_| mis laadib Steamist alla mänguserverite sõltuvused. See tööriist sisaldub ühes kaasaskantavas käivitatavas failis, kuid see tekitab palju prügi, mida ma ei taha Gitis jälgida.

Lahendus oli ignoreerida kõike kaustas, kuid lisada käivitatav fail valgesse loendisse. See töötab iga kaasaskantava käivitatava faili puhul, mis sel viisil laieneb või tekitab kataloogis tarbetut prügi.

|_+_|

gitignore kasutab stringide sobitamiseks ka teisi Unixi globbimismudeleid, näiteks küsimärki ühe märgi sobitamiseks või |_+_| mis ühtib märgistikuga.

Samuti võite kirjutada rohkem kui ühe |_+_| failid, mis võivad vastata endaga seotud failidele. Sellest pole suurt kasu, sest reeglid saab lisada juurfaili, mida on lihtsam järgida, kuid mõnel juhul võib see aidata koodi kordamisel. Lahenduseks on aga märgikomplektide kasutamine mitme kataloogi sobitamiseks. Näiteks tõstutundlike kataloogide sobitamine massiiviga:

|_+_|

Kui teil on probleeme omaga |_+_| konfiguratsiooni, saate siluda käsuga |_+_| Giti käsk:

|_+_|

.Gitignore global

Gitil on ka globaalne säte |_+_| jaoks, kuid seda ei tohiks enamikul juhtudel kasutada. Seda seetõttu, et |_+_| teie arvutis ei kehti see teie kolleegide ja ainult teie Giti eksemplariga tehtud kohustuste kohta.

Kui soovite selle ikkagi konfigureerida, saate seda teha järgmise käsuga:

|_+_|

Eiratud failid sunniviisiliselt kinnistamiseks või arhiivimiseks

Sunniviisiline pühendumine on üldiselt halb mõte; Tõenäoliselt peaksite selle konkreetse faili jaoks lisama valge nimekirja, sest pärast kinnitamist ei jälgita selle faili värskendusi. Kuid kui soovite midagi käsitsi kinnitada, võite käivitada |_+_| koos märgiga |_+_| parameeter:

|_+_|

Samamoodi |_+_| saate ka vahelejäetud failide kohalikud muudatused peita, mis võib tegelikult olla kasulik, kuna see ei mõjuta kaughoidlat:

|_+_|Mida sa arvad?