Prijavi se na najbolj priljubljen tečaj: WEB DEVELOPMENT 1.
Poglej več

HOW-TO: Ignoriranje datotek z .gitignore

Če ste že objavili kakšen projekt na Githubu, ste po vsej verjetnosti kdaj opazili v svojemu repositoryju datoteke, ki jih vi niste naredili oz. jih sploh niste videli pri sebi na računalniku. To so ponavadi neke začasne datoteke, ki so za delovanje programa v osnovi nepomembne, in jih generira programski jezik sam, ali pa vaš urejevalnik kode.

Na sliki je primer enega izmed mojih projektov na GitHubu pri kateremu sem uporabil Google App Engine (Python) ter urejevalnik kode PyCharm, ki sta mi pri tem generirala začasne datoteke, formata .pyc, ter mapo .idea. Format datotek oz. končnica se razlikuje glede na projekt, na uporabljen IDE in programski jezik.

Smartninja_sola_programiranja_tecaji_vLY7Pah

Ker so vse te datoteke in mapa totalno nepotrebni, jih bom odstranil tako, da se mi tudi v prihodnje ne bodo na novo ustvarile. Kako?


Ta projekt je bil nazadnje posodobljen pred 9 meseci (pravzaprav sem naredil samo en commit, ko je bil projekt že dokončan), zato sem si ga moral na novo klonirati na računalnik. Takoj sem opazil, da mi je zraven naložil še vse te nepotrebne datoteke. Lahko jih izbrišem in se jih tako znebim, ampak problem je, da bom pri naslednjem ‘git clone’ ali ‘git pull’ vse te datoteke dobil nazaj, ker se bodo vedno na novo generirale, tako da to ni dobra rešitev.

Smartninja_sola_programiranja_tecaji_

Prava rešitev je, da znotraj mape ustvarim ‘.gitignore’ datoteko. Pazite, da vam ne generira .txt datoteke ali kaj podobnega – datoteka sme biti imenovana samo ‘.gitignore‘ in nič drugega, drugače ne bo delovalo.

Smartninja_sola_programiranja_tecaji_rB8fMhf

Znotraj te datoteke lahko zapišemo specifične datoteke, ki jih hočemo ignorirati- torej v osnovi ‘ime_datoteke.format‘.
Lahko pa ignoriramo vse datoteke nekega podatkovnega formata- primer: *.format (zvezdica pomeni vse oz. vsa možna imena).

V tem primeru se hočem znebiti vseh .pyc datotek in specifično, cele mape .idea, zato bom zapisal v datoteko .gitignore takole:

Smartninja_sola_programiranja_tecaji_PF6ceLI

Shranim spremembe v datoteki in še preden naredim git push, v Terminalu zaženem ukaz git rm -r --cached ., ki bo resetiral ‘stanje’ datotek v mapi, kot da bi ustvarili čisto nov projekt – torej ne bo si zapomnil, da smo kadarkoli prej commitali te nepotrebne datoteke brez .gitignore-a.

Smartninja_sola_programiranja_tecaji_gn2twzy

Šele potem naredim vse te tipične git ukaze: add, commit in push.

Smartninja_sola_programiranja_tecaji_XYnW12y

In če zdaj pogledam na GitHubu svoj repository, bom opazil, da so vse deklarirane datoteke bile ignorirane in niso uploadane na GitHub.

Smartninja_sola_programiranja_tecaji_

Nadaljuj z branjem

  • Zaposlitve v programiranju: september 2023

    Mesec september prinaša nove zaposlitve v programiranju. Na voljo je kar nekaj različnih nivojev in vrst zaposlitve, tako da vabljeni k branju in seveda prijavi na delovno mesto. Kaj pa…
  • Tečaji “Smartninja šola programiranja” explained

    Zaradi aktivnega sodelovanja naših inštruktorjev in velikega interesa tečajnikov Smartninja šola programiranja nenehno dodeluje in dodaja nove tečaje programiranja. Vrata priložnosti za izboljšanje digitalnih veščin so pri nas vedno odprta!…
  • Zaposlitve v programiranju: avgust 2023

    Nov mesec, nove zaposlitve! V avgustu se že kar nekaj podjetij zbuja iz poletnega dopustovskega spanca (😉) in na voljo so nove zaposlitve v programiranju! Kam se prijaviš? Monolit Monolit…
  • Učenje programiranja: doma ali na univerzi?

    V zadnjih letih se je programiranje in spletno razvijanje uveljavilo kot ena najbolj zaželenih veščin na trgu dela. Z naraščajočim povpraševanjem po programerjih se postavlja vprašanje, ali je bolje programiranje…