Leiðbeiningar um notkun `.gitignore` í Git, hvernig á að koma í veg fyrir að viðkvæmar skrár lendi í geymslu og hvernig á að stilla sérsniðna `.gitignore` skrá.
.gitignore er skrá sem segir Git að hunsa ákveðnar skrár eða möppur þegar verið er að skrá breytingar í Git. Þetta kemur í veg fyrir að óþarfa eða viðkvæm gögn lendi í Git geymslunni.
Bæta við .gitignore í nýtt verkefni
Þegar þú býrð til nýtt repo á GitHub.com er hægt að velja að bæta við .gitignore skrá út frá ákveðnu forritunarmáli (t.d. Python, Node.js, C++ eða TeX). Hins vegar er aðeins hægt að velja eitt tungumál í þessu viðmóti, þannig að ef þú vinnur með mörg tungumál eða fleiri stillingar gæti verið þörf á að breyta skránni handvirkt.
Af hverju að nota .gitignore?
Koma í veg fyrir að viðkvæmar skrár séu geymdar í Git
Hindra óþarfa skrár (t.d. afleiddar skrár og log skrár) í að lenda í Git geymslu
Viðhalda hreinleika verkefnisins með því að hunsa skrár sem skipta ekki máli fyrir þróunina
Skrár sem ættu alltaf að vera í .gitignore
Viðkvæmar upplýsingar
Þetta eru skrár sem innihalda lykilorð, API lykla, og annað sem á ekki að birtast opinberlega.
.env skrár (t.d. config.env, .env.local)
SSH lyklar og cert skrár (t.d. id_rsa, id_rsa.pub)
JSON eða YAML skrár með lykilorðum
Afleiddar skrár og útgefnar skrár
Þetta eru skrár sem eru búnar til sjálfkrafa og ættu ekki að vera í Git geymslu.
Tímabundnar skrár og log skrár
Afleiddar bin skrár
Cache og háhraðaminni
Sérstillt .gitignore eftir forritunarmáli
Python verkefni
Node.js verkefni
C/C++ verkefni
TeX verkefni
Hvernig á að bæta skrám við .gitignore?
Búðu til skrána handvirkt (ef hún er ekki þegar til):
Opnaðu .gitignore og bættu við skrám sem á að hunsa.
Staðfestu að skráin virki með:
Skrár sem eru í .gitignore ættu ekki að birtast í úttaki git status.
Hvað ef ég gleymdi að bæta við .gitignore í upphafi?
Ef þú hefur þegar bætt við skrám sem ættu að vera í .gitignore, breytir það ekki sjálfkrafa því sem þegar er í geymslunni. Þú þarft að fjarlægja skrárnar handvirkt með:
Og svo skrá breytinguna:
Að fjarlægja viðkvæmar skrár alveg úr Git sögunni
Ef skrá sem inniheldur viðkvæmar upplýsingar (t.d. lykilorð eða API lykla) hefur þegar verið sett í Git, þá er ekki nóg að eyða henni með git rm. Hún er ennþá aðgengileg í Git sögunni. Til að fjarlægja hana alveg:
⚠️ Að framkvæma þessa aðgerð breytir Git sögunni og getur valdið vandræðum ef aðrir eru að vinna í geymslunni. Það er mælt með að nota BFG Repo-Cleaner fyrir einfaldari hreinsun á viðkvæmum skrám.
Þetta er aðeins fyrir þá Git-notendur sem vita hvað þeir eru að gera og hafa skilið afleiðingar þess. Passa þarf að allir sem vinna í geymslunni vita að þessi aðgerð er í gangi, annars getur það valdið verulegum vandræðum.
Þegar þú vilt bæta við skrá sem er í .gitignore
Ef þú þarft að bæta skrá sem er í .gitignore samt sem áður, þá færðu villu nema þú notar --force:
Þetta er gagnlegt ef þú ert að vinna með undantekningar, en ætti að nota með varúð.
Samantekt
Skipun
Lýsing
touch .gitignore
Býr til .gitignore skrá
echo "*.log" >> .gitignore
Bætir við reglur í .gitignore
git rm --cached <skrá>
Fjarlægir skrá úr Git en ekki úr verkefninu
git add -f <skrá>
Bætir skrá við Git þrátt fyrir .gitignore
git status
Sýnir ekki hunsaðar skrár
git filter-branch --force --index-filter ...
Fjarlægir skrá alveg úr Git sögunni ⚠️
Með því að nota .gitignore skynsamlega tryggir þú að Git geymslan þín haldist snyrtileg og örugg 🚀