Ne bi svaka datoteka u vašem projektu trebala biti kontrolirana verzijom. Saznajte koje vrste datoteka biste trebali isključiti iz svog izvornog spremišta.

Kontrola verzija vitalan je alat za praćenje promjena u vašoj bazi koda, ali ne želite uvijek pratiti svaku datoteku.

Da biste izbjegli nered i smanjili rizik od distribucije osjetljivih informacija, možete koristiti datoteku pod nazivom .gitignore. Ova datoteka navodi koje datoteke i direktorije Git ne bi trebao indeksirati.

Određivanje koje datoteke uključiti u .gitignore može biti izazov, osobito ako ste novi u razvoju. Saznajte koje datoteke biste trebali dodati u svoj .gitignore za lakši Git tijek rada.

Stvaranje datoteke .gitignore

Da bi vaša .gitignore datoteka imala bilo kakav učinak, morate imati Git inicijaliziran u svom projektu.

Git možete inicijalizirati pokretanjem naredbe u nastavku na vašem terminalu:

git init

Ova naredba stvara novo Git spremište za vaš projekt, u skrivenom poddirektoriju “.git” koji sadrži sve datoteke i direktorije potrebne za kontrolu verzija vašeg projekta.

instagram viewer

Da biste pokrenuli ovu naredbu, morate imati Git instaliran u vašem sustavu.

Zatim izradite svoju .gitignore datoteku izvođenjem naredbe u nastavku:

dodir.gitignorirati

Izvođenje gornje naredbe stvara novu datoteku, “.gitignore” u vašem trenutnom direktoriju. Datoteku možete izuzeti iz Gita dodavanjem naziva datoteke ili putanje datoteke (ako je datoteka u drugom direktoriju od .gitignorirati datoteka).

Git ne treba pratiti svaku datoteku u vašem projektu, a praćenje nekih datoteka može dovesti do nepredviđenih problema. Ovo su neke od datoteka koje biste trebali dodati u svoj .gitignore.

1. Konfiguracijske datoteke

Konfiguracijske datoteke pohranjuju postavke i druge parametre koje vaše aplikacije koriste za definiranje i prilagodbu ponašanja. Ove datoteke često pohranjuju nizove veze s bazom podataka, API ključeve i druge osjetljive informacije koje ne biste trebali izlagati u svom Git repozitoriju.

Ako uključite konfiguracijske datoteke u svoje spremište, svatko tko mu može pristupiti može vidjeti njihov sadržaj. To može uključivati ​​osjetljive podatke, što može dovesti do sigurnosnih narušavanja i drugih problema.

Da biste isključili konfiguracijske datoteke iz Git repozitorija, dodajte određene nazive datoteka ili mapa u svoj .gitignorirati datoteka.

Na primjer, možete dodati redak ispod u svoj .gitignorirati datoteka za ignoriranje a .env datoteka.

.env

2. Izgradite artefakte

Artefakti izgradnje su kompajlirane ili generirane datoteke koje se proizvode kada gradite svoj projekt. Ove datoteke obično žive u a "cilj" ili "izgraditi" imenik.

Artefakti izgradnje mogu uključivati ​​kompajlirane Java klase, JAR datoteke, WAR datoteke, binarne datoteke, distribucijske pakete, izvješća, datoteke dnevnika i druge generirane tijekom procesa izgradnje.

Općenito je dobra praksa isključiti artefakte izrade iz vašeg Git repozitorija jer mogu biti vrlo veliki. One također mogu biti manje prenosive od vaših izvornih datoteka, relevantne samo za određeno okruženje. Njihovo uključivanje u vaše spremište može povećati veličinu vašeg spremišta i usporiti njegovo kloniranje i rad s njim.

Da biste isključili artefakte izrade iz Git repozitorija, dodajte "cilj/" ili "izgraditi/" imenik na svoj .gitignorirati datoteka.

Na primjer:

# .gitignore

cilj/
izgraditi/

3. Datoteke integriranog razvojnog okruženja

Datoteke integriranog razvojnog okruženja (IDE) konfiguracijske su datoteke, metapodaci projekta i druge datoteke koje generira vaš IDE kada kreirate ili otvorite projekt. Ove datoteke su specifične za svaki IDE. Vaše IDE koristi ove datoteke za konfiguriranje postavki projekta.

Te su datoteke nepotrebne za izradu ili pokretanje vaše aplikacije i često mogu uzrokovati probleme ako se predaju zajedničkom Git repozitoriju. Na primjer, različiti ljudi u vašem timu mogu koristiti različite IDE-ove ili verzije, a predaja datoteka specifičnih za IDE može uzrokovati sukobe spajanja i otežati suradnju na projektu.

Budući da su ove datoteke specifične za IDE, datoteke koje želite uključiti u svoj .gitignorirati datoteka ovisit će o vašem IDE-u. Ovdje su GitHubove preporuke .gitignore za neke popularne IDE-ove. Možete tražiti svoj IDE po izboru i dodati označene datoteke u svoj .gitignorirati datoteka.

4. Datoteke ovisnosti i paketa

Datoteke ovisnosti i paketa su datoteke koje sadrže informacije o ovisnostima i paketima koje koristi vaša aplikacija. Razni alati za gradnju, kao npr upravitelj paketa čvora (npm), generirajte ove datoteke.

Na primjer, ako koristite npm za upravljanje ovisnostima za JavaScript projekt, on će stvoriti "čvor_moduli" u korijenskom direktoriju vašeg projekta. Direktorij sadrži sve instalirane ovisnosti za vaš projekt.

Ovaj direktorij može postati vrlo velik, osobito ako vaš projekt ima mnogo ovisnosti ili neke ovisnosti imaju velike datoteke. Isključivanjem "čvor_moduli" iz svog Git spremišta, možete je održavati čistom i smanjiti joj veličinu.

Da biste izbjegli dodavanje "čvor_moduli" u svoje Git spremište, dodajte njegovo ime u svoju .gitignore datoteku:

#.gitignore

čvor_moduli/

5. Datoteke operativnog sustava

Vaš operativni sustav i drugi sistemski alati mogu generirati datoteke normalnom upotrebom. One mogu uključivati ​​datoteke dnevnika, privremene datoteke i konfiguracijske datoteke sustava. Primjer je Palčevi.db datoteku u sustavu Windows i njegovom ekvivalentu za macOS, the .DS_Store datoteka.

Općenito je dobra praksa isključiti datoteke operativnog sustava iz vašeg Git repozitorija, jer oni specifični su za vaše lokalno okruženje i mogu se razlikovati između različitih računala i načina rada sustava.

GitHub je preporučio smjernice za .gitignore Windows, macOS, i Linux.

Važnost kontrole verzija

Korištenje kontrole verzija može značajno poboljšati vaš tijek rada i smanjiti pogreške i sukobe koji mogu nastati tijekom rada na bazi koda. Uz kontrolu verzija možete jednostavno pratiti promjene koda, pregledavati ih i neprimjetno surađivati ​​s članovima tima.

Međutim, uvijek biste trebali isključiti određene datoteke, kao što su konfiguracijske datoteke, IDE datoteke i OS datoteke. Ovo će smanjiti veličinu vašeg repozitorija i osigurati da ne dođe do curenja osjetljivih informacija.