Vsaka datoteka v vašem projektu ne sme biti nadzorovana z različicami. Ugotovite, katere vrste datotek bi morali izključiti iz izvornega skladišča.

Nadzor različic je bistveno orodje za sledenje spremembam vaše kodne baze, vendar ne želite vedno slediti vsaki datoteki.

Da bi se izognili neredu in zmanjšali tveganje za razširjanje občutljivih informacij, lahko uporabite datoteko z imenom .gitignore. Ta datoteka določa, katerih datotek in imenikov Git ne sme indeksirati.

Določanje, katere datoteke vključiti v .gitignore, je lahko izziv, še posebej, če ste novi v razvoju. Ugotovite, katere datoteke bi morali dodati v svoj .gitignore za bolj gladek potek dela Git.

Ustvarjanje datoteke .gitignore

Da bi vaša datoteka .gitignore imela kakršen koli učinek, morate imeti Git inicializiran v vašem projektu.

Git lahko inicializirate tako, da v terminalu zaženete spodnji ukaz:

git init

Ta ukaz ustvari novo skladišče Git za vaš projekt v skritem podimeniku ».git«, ki vsebuje vse datoteke in imenike, ki jih potrebuje za nadzor različic vašega projekta.

instagram viewer

Če želite zagnati ta ukaz, morate imeti Git je nameščen v vašem sistemu.

Nato ustvarite datoteko .gitignore tako, da zaženete spodnji ukaz:

dotik.gitignore

Zagon zgornjega ukaza ustvari novo datoteko, ».gitignore« v vašem trenutnem imeniku. Datoteko lahko izključite iz Gita tako, da dodate ime datoteke ali pot do datoteke (če je datoteka v drugem imeniku od .gitignore mapa).

Gitu ni treba slediti vsaki datoteki v vašem projektu in sledenje nekaterim datotekam lahko povzroči nepredvidene težave. To je nekaj datotek, ki bi jih morali dodati v svoj .gitignore.

1. Konfiguracijske datoteke

Konfiguracijske datoteke shranjujejo nastavitve in druge parametre, ki jih vaše aplikacije uporabljajo za definiranje in prilagajanje svojega vedenja. Te datoteke pogosto shranjujejo povezovalne nize baze podatkov, ključe API-ja in druge občutljive informacije, ki jih ne bi smeli izpostavljati v svojem repozitoriju Git.

Če konfiguracijske datoteke vključite v svoje skladišče, si lahko vsak, ki ima dostop do njega, ogleda njihovo vsebino. To lahko vključuje občutljive podatke, ki lahko vodijo do kršitev varnosti in drugih težav.

Če želite konfiguracijske datoteke izključiti iz svojega skladišča Git, dodajte določena imena datotek ali imena map v svoje .gitignore mapa.

Svoji lahko na primer dodate spodnjo vrstico .gitignore datoteka za prezrtje a .env mapa.

.env

2. Zgradite artefakte

Artefakti gradnje so prevedene ali ustvarjene datoteke, ustvarjene, ko gradite svoj projekt. Te datoteke običajno živijo v a "tarča" oz "zgraditi" imenik.

Artefakti gradnje lahko vključujejo prevedene razrede Java, datoteke JAR, datoteke WAR, binarne datoteke, distribucijske pakete, poročila, dnevniške datoteke in druge, ustvarjene med postopkom gradnje.

Na splošno je dobra praksa, da artefakte gradnje izključite iz skladišča Git, ker so lahko zelo veliki. Morda so tudi manj prenosljive kot vaše izvorne datoteke, pomembne le za določeno okolje. Če jih vključite v svoj repozitorij, lahko povečate velikost vašega repozitorija in povzročite počasnejše kloniranje in delo z njim.

Če želite artefakte gradnje izključiti iz svojega skladišča Git, dodajte "tarča/" oz "zgraditi/" imenik v vaš .gitignore mapa.

Na primer:

# .gitignore

cilj/
zgraditi/

3. Datoteke integriranega razvojnega okolja

Datoteke integriranega razvojnega okolja (IDE) so konfiguracijske datoteke, metapodatki projekta in druge datoteke, ki jih ustvari vaš IDE, ko ustvarite ali odprete projekt. Te datoteke so specifične za vsak IDE. Vaš IDE uporablja te datoteke za konfiguriranje nastavitev projekta.

Te datoteke so nepotrebne za gradnjo ali izvajanje vaše aplikacije in lahko pogosto povzročijo težave, če so predane skupnemu repozitoriju Git. Na primer, različni ljudje v vaši skupini lahko uporabljajo različne IDE ali različice, potrditev datotek, specifičnih za IDE, pa lahko povzroči spore pri spajanju in oteži sodelovanje pri projektu.

Ker so te datoteke specifične za IDE, bodo datoteke, ki jih želite vključiti v svoj .gitignore datoteka bo odvisna od vašega IDE. Tukaj so GitHubova priporočila .gitignore za nekatere priljubljene IDE. Poiščete lahko IDE po svoji izbiri in dodate orisane datoteke v svoj .gitignore mapa.

4. Datoteke odvisnosti in paketov

Datoteke odvisnosti in paketov so datoteke, ki vsebujejo informacije o odvisnostih in paketih, ki jih uporablja vaša aplikacija. Različna gradbena orodja, kot npr upravljalnik paketov vozlišča (npm), ustvari te datoteke.

Če na primer uporabljate npm za upravljanje odvisnosti za projekt JavaScript, bo ustvaril "moduli_vozlišča" v korenskem imeniku vašega projekta. Imenik vsebuje vse nameščene odvisnosti za vaš projekt.

Ta imenik lahko postane zelo velik, zlasti če ima vaš projekt veliko odvisnosti ali imajo nekatere odvisnosti velike datoteke. Z izključitvijo "moduli_vozlišča" iz vašega skladišča Git, jo lahko ohranite čisto in zmanjšate njeno velikost.

Da bi se izognili dodajanju "moduli_vozlišča" v vaše skladišče Git, dodajte njegovo ime v datoteko .gitignore:

#.gitignore

node_modules/

5. Datoteke operacijskega sistema

Vaš operacijski sistem in druga sistemska orodja lahko ustvarijo datoteke z običajno uporabo. Te lahko vključujejo dnevniške datoteke, začasne datoteke in sistemske konfiguracijske datoteke. Primer je Thumbs.db datoteko v sistemu Windows in njenem ekvivalentu macOS, the .DS_Store mapa.

Na splošno je dobra praksa, da datoteke operacijskega sistema izključite iz skladišča Git, saj jih so specifične za vaše lokalno okolje in se lahko razlikujejo med različnimi računalniki in delovanjem sistemi.

GitHub je priporočil smernice .gitignore za Windows, macOS, in Linux.

Pomen nadzora različic

Uporaba nadzora različic lahko bistveno izboljša vaš potek dela in zmanjša napake in konflikte, ki se lahko pojavijo pri delu na kodni bazi. Z nadzorom različic lahko preprosto sledite spremembam kode, jih pregledate in nemoteno sodelujete s člani ekipe.

Vendar morate vedno izključiti določene datoteke, kot so konfiguracijske datoteke, datoteke IDE in datoteke OS. S tem boste zmanjšali velikost vašega skladišča in zagotovili, da ne boste uhajali občutljivih informacij.