Parandus: Gitignore ei tööta

GitHubist on saanud juhtiv teerajaja koodide koostöö ja hoidlate jagamise valdkonnas. GitHub on peamiselt versioonikontrolli tarkvara, mis võimaldab kasutajatel juhtida hajutatud versioonikontrolli ja SCM-i (lähtekoodi haldus). Seda platvormi kasutavad suuremad ettevõtted kogu maailmas.

.gitignore

Sellistel platvormidel on oma tehnilised omadused ja probleemid. Üks konkreetne probleem, mida kodeerijad kogesid, oli see, et .gitignore ei töötanud GitHubis. Platvorm kas ignoreeris .gitignore või töötas osaliselt. Huvitav on tõdeda, et probleem võib olla mõlemal juhul pisut erinev, kuna iga juhtum on täiesti erinev stsenaarium. Meie loetletud lahendused sisaldavad parandusi, mis töötavad universaalselt.

Mis on .gitignore?

Git (või GitHub) näeb kõiki faile teie töökataloogis. See iseloomustab iga faili ühena kolmest:

  • Jälgitav: need failid on kas pühendatud või ajaloos varem lavastatud.
  • Ummistamata: need on failid, mida pole varem lavastatud ega pandud.
  • Eiratud: need on failid, mida kasutaja ise käskis Gitil täielikult ignoreerida.

Need ignoreeritud failid võivad stsenaariumi korral erineda ja on enamasti masina loodud failid või ehitatavad esemed. See on üldine tava; võite ignoreerida mitmesuguseid muid faile vastavalt oma vajadustele. Mõned näited nendest failidest:

  • Kompileeritud kood: need failid on tavaliselt laiendiga .class, .pyc, .ccp jne.
  • Varjatud süsteemifailid: need on failid, mida süsteem kasutab oma toimingute jaoks, kuid mis on tavalise vaate korral peidetud, näiteks DS_Store või Thumbs.db jne.
  • Väljundkataloogide loomine: need on enamasti kataloogide / bin, / out jne kataloogid.
  • Sõltuvuse vahemälud: need failid võivad olla moodulite / node või / package sisu.
  • IDE konfiguratsioonifailid: need on konfiguratsioonifailid, mille enamasti loob või haldab teie IDE tarkvara.
  • Käivitusel loodud failid: mõned programmid loovad faile töö ajal. Kui mõni selline kood käivitatakse, võidakse mõned failid töökataloogis töötamise ajal genereerida ja võite neid Gitis ignoreerida.

Ükskõik millist faili soovite ignoreerida, jälgitakse spetsiaalses failis nimega .gitignore, mida kontrollitakse enamasti teie töötava hoidla juurtes. GitHubi selleteemalise ametliku dokumentatsiooni kohaselt konkreetset käsku gitignore pole. Selle asemel peate faili, mida soovite ignoreerida, käsitsi redigeerida. .Gitignore-fail sisaldab mustreid, mis on ühildatud töötava hoidla failinimedega ja neid kasutatakse selleks, et aidata kindlaks teha, kas konkreetset faili tuleks ignoreerida.

Mis põhjustab .gitignore mittetöötamist?

Võimalik, et .gitignore funktsioon töötab ideaalselt, kuid te pole seda võib-olla õigesti konfigureerinud. Kõigis uuringutes jõudsime järeldusele, et moodul tõepoolest töötas. Põhjus, miks kooderid ei saa seda funktsiooni kasutada, on peamiselt seetõttu, et nad pole faili õigesti konfigureerinud või on mõned tingimused, mida aluskood ei täida.

Siin on mõned lahendused, mis võiksid teie heaks töötada. Kõik lahendused ei pruugi teie puhul kohaldatavad olla, nii et kui algtingimused ei ole täidetud, siis minge üle järgmisele.

1. lahendus: .gitignore faili kontrollimine

Tuli välja huvitav juhtum, kus nägime, et .gitignore fail loodi vales vormingus. See konkreetne probleem ilmnes siis, kui kasutajad lõid faili Windows OS-is Notepadi vaikerakenduse abil. Selgub, et Notepad kirjutab faili ANSI vormingu asemel Unicode'is. Selle lahenduse korral salvestame Notepadi muudatused õiges vormingus .gitignore ja vaatame, kas see lahendab probleemi.

Märkus. Uue faili loomisel Notepadiga peate failist .txt laiendi eemaldama.

  1. Pärast koodi kirjutamist või muudatuste tegemist uues teksadokumendis Notepadis klõpsake File ja valige Save As .

Salvesta nimega - märkmik
  1. Valige kodeeringu ees ANSI . Eemaldage .txt faililaiend ja salvestage fail nimega .gitignore . Valige õige kataloog ja salvestage.

ANSI valimine kodeeringutüübiks
  1. Liikuge nüüd kataloogi ja kontrollige, kas õige fail on loodud. Katsetage seda uuesti Gitiga ja vaadake, kas funktsioon Ignoreerimine töötab ootuspäraselt.

Arendajad peaksid hoiduma Windowsi vaikimisi sülearvuti kasutamisest. Selle asemel peaksite kasutama korralikku programmeerijate märkmikku. Mõned näited hõlmavad Notepad ++ jne. Neis ei teki teil selliseid probleeme.

Märkus. Kui teie fail on juba UNICODE-vormingus salvestatud, peaksite sisu ANSI-vormingus korralikult salvestama, kui soovite, et Git tuvastaks teie faili õigesti.

2. lahendus: kontrollige faili, mida proovite ignoreerida

Teine tingimus, kus .gitignore töötab, on see, et teie fail ei peaks veel olema hoidla osa . See on väga oluline aspekt, sest kui see on tõsi, siis faili ei ignoreerita, kuna see on juba hoidlasse lisatud . Git ei saa seda tähelepanuta jätta, isegi kui paned selle nime või reegli .gitignore faili. Nii et sisuliselt ignoreerib Git ainult jälgimata faile .

Peaksite oma struktuuri (hoidlat) vaatama ja veenduma, et faili, mida proovite praegu ignoreerida, ei lisata hoidlasse. Kui see on nii, siis peate faili hoidlast eemaldama ja pärast viimaste muudatuste kinnitamist lisage faili nimi .gitignore'ile (saate ka faili sisu kopeerida ja pärast kustutamist kopeerida seda teise nimega). .

3. lahendus: failide uuesti lisamine hoidlasse

Kui olete juba reeglid kausta .gitignore lisanud, kuid failid, mida soovite ignoreerida, on juba lisatud, saame neid faile uuesti lisada. Lisamine tähendab, et eemaldame kõik Giti registrist ja lisame siis kõik uuesti teie hoidlasse. Kui lisame faile uuesti nullist, tuleb meeles pidada reegleid, mille olete lisanud .gitignore ja ainult õiged failid on lisatud.

Märkus. Enne selle lahenduse teostamist peaksite oma koodi ka mujal varundama. Alati on hea, kui igaks juhuks varu on.

  1. Käivitage järgmine käsk. See eemaldab etapi ja eemaldab teie failide teed rekursiivsel viisil registrist.
 git rm -r - vahemälu. 
  1. Pärast selle täitmist peaksite täitma järgmise käsu. See lisab kõik teie failid tagasi ja kuna .gitignore'il on reeglid, värskendatakse ainult õigeid faile.
 lisan. 
  1. Nüüd suuname kõik teie failid uuesti indeksisse, kasutades järgmist koodi:
 git activ -m ".gitignore töötab nüüd" 

Vaadake nüüd oma failid üle ja kontrollige, kas probleem on lahendatud ning kas saate .gitignore'i uuesti kasutada ilma probleemideta.

Huvitavad Artiklid