Android

Zanemarivanje datoteka i mapa u git-u (.gitignore)

Week 2, continued

Week 2, continued

Sadržaj:

Anonim

Kad radite na projektu koji koristi Git, trebali biste isključiti određene datoteke ili mape koje se guraju u udaljeno spremište.

Datoteka .gitignore određuje što nenadzirane datoteke koje Git treba zanemariti.

Koje datoteke treba zanemariti?

Zanemarene datoteke obično su datoteke specifične za platformu ili automatski stvorene datoteke iz sustava za izgradnju. Neki uobičajeni primjeri uključuju:

  • Runtime datoteke kao što su zapisnik, zaključavanje, predmemorija ili privremene datoteke. Datoteke s osjetljivim podacima, kao što su lozinke ili API ključevi. Sastavljeni kôd, kao što su .class ili.o. Direktoriji ovisnosti, kao što su /vendor ili /node_modules Izgradite direktorije, kao što su /public , /out ili /dist .sistemske datoteke poput .DS_Store ili Thumbs.db IDE ili konfiguracijske datoteke uređivača teksta.

.gitignore

Lokalna .gitignore datoteka obično se postavlja u korijenski direktorij spremišta. No možete stvoriti više .gitignore datoteka u različitim poddirektorijima vašeg spremišta. Obrasci u .gitignore datotekama podudaraju se u odnosu na direktorij u kojem se datoteka nalazi.

Obrasci definirani u datotekama koji se nalaze u direktorijima niže razine (poddirektoriji) imaju prednost nad onima u direktorijima više razine.

Lokalne .gitignore datoteke dijele se s drugim programerima i trebaju sadržavati uzorke korisne za sve ostale korisnike spremišta.

Osobna pravila zanemarivanja

Uzorci koji su specifični za vaše lokalno spremište i ne smiju se distribuirati u druga spremišta, trebaju se postaviti u .git/info/exclude .

Na primjer, možete koristiti ovu datoteku za zanemarivanje generiranih datoteka iz vaših osobnih alata za projekte.

Global .gitignore

Git vam također omogućuje stvaranje globalne .gitignore datoteke u kojoj možete definirati pravila zanemarivanja za svako Git spremište u vašem lokalnom sustavu.

Datoteci se može imenovati sve što vam se sviđa i pohraniti na bilo kojem mjestu. Najčešće mjesto za zadržavanje ove datoteke je kućni direktorij. Morat ćete ručno stvoriti datoteku i konfigurirati Git da je koristi.

Na primjer, da postavite ~/.gitignore_global kao globalnu Git datoteku zanemarivanja, učinite sljedeće:

  1. Stvorite datoteku:

    touch ~/.gitignore_global

    Dodajte datoteku u Git konfiguraciju:

    git config --global core.excludesfile ~/.gitignore_global

    Otvorite datoteku s uređivačem teksta i dodajte joj svoja pravila.

Globalna pravila osobito su korisna za zanemarivanje određenih datoteka koje nikada ne želite počiniti, poput datoteka s osjetljivim podacima ili sastavljenih izvršnih datoteka.

Zanemarivanje prethodno počinjenih datoteka

Datoteke u vašoj radnoj kopiji mogu se pratiti ili pratiti.

Da biste zanemarili datoteku koja je prethodno počinjena, morat ćete ukloniti uklanjanje datoteke iz indeksa i dodati pravilo za datoteku u .gitignore :

git rm --cached filename

Opcija --cached govori --cached ne briše datoteku iz radnog stabla već je samo ukloni iz indeksa.

Za rekurzivno uklanjanje mape koristite opciju -r :

git rm --cached filename

Kada rekurzivno brišete datoteke, koristite opciju -n koja će izvesti "suho pokretanje" i pokazati vam koje će datoteke biti izbrisane:

git rm -r -n directory

.gitignore File

Ponekad može biti teško odrediti zašto se određena datoteka zanemaruje, pogotovo kada koristite više .gitignore datoteka ili složenih uzoraka. Ovo je mjesto gdje dolazi naredba git check-ignore s opcijom -v koja git-u prikazuje detalje o odgovarajućem obrascu.

Na primjer, da provjerite zašto se datoteka www/yarn.lock zanemari, pokrenuli biste:

git check-ignore -v www/yarn.lock

Izlaz prikazuje put do gitignore datoteke, broj podudarne crte i stvarni uzorak.

www/.gitignore:31:/yarn.lock www/yarn.lock

Naredba također prihvaća više argumenata kao argumente i datoteka ne mora postojati u vašem radnom stablu.

Prikazivanje svih zanemarenih datoteka

Naredba git status s opcijom --ignored prikazuje popis svih zanemarenih datoteka:

git status --ignored

Zaključak

.gitignore datoteka omogućuje vam da isključite datoteke koje su provjerene u spremištu. Datoteka sadrži obrasce globbinga koji opisuju koje datoteke i mape treba zanemariti.

gitignore.io je internetska usluga koja vam omogućuje generiranje .gitignore datoteka za vaš operativni sustav, programski jezik ili IDE.