Labojums: Gitignore nedarbojas



Izmēģiniet Mūsu Instrumentu Problēmu Novēršanai

GitHub ir kļuvis par vadošo pionieri kodu sadarbības un repozitoriju koplietošanas jomā. GitHub galvenokārt ir versiju kontroles programmatūra, kas ļauj lietotājiem kontrolēt izplatīto versiju kontroli un SCM (pirmkodu pārvaldību). Šo platformu izmanto lielākie uzņēmumi un uzņēmumi visā pasaulē.



.gitignore



Šādām platformām ir savas tehniskās īpašības un jautājumi. Viena īpaša problēma, ar kuru saskārās kodētāji, bija tā, ka .gitignore nedarbojās GitHub. Platforma vai nu ignorēja .gitignore, vai arī darbojās daļēji. Interesanti atzīmēt, ka problēma katrā gadījumā var būt nedaudz atšķirīga, jo katrs gadījums ir pilnīgi atšķirīgs scenārijs. Tomēr mūsu uzskaitītajos risinājumos būs labojumi, kas darbosies universāli.



Kas ir .gitignore?

Git (vai GitHub) redz visus failus jūsu darba direktorijā. Katru failu tas raksturo kā vienu no trim:

  • Izsekots: Šie faili ir vai nu izdarīti, vai pakārtoti iepriekš vēsturē.
  • Nesekots: Šie ir faili, kas iepriekš nav iestudēti vai izdarīti.
  • Ignorēts: Tie ir faili, kurus pats lietotājs lika Gitam pilnībā ignorēt.

Šie ignorētie faili var atšķirties atkarībā no scenārija, un tie galvenokārt ir mašīnā ģenerēti faili vai būvniecības artefakti. Tā ir izplatīta prakse; iespējams, jūs ignorējat dažādus citus failus atbilstoši savām vajadzībām. Daži šo failu piemēri ir:

  • Sastādīts kods: Šie faili parasti ir ar paplašinājumu .class, .pyc, .ccp utt.
  • Slēptie sistēmas faili: Tie ir faili, kurus sistēma izmanto savām darbībām, bet ir paslēpti no vienkārša skata, piemēram, DS_Store vai Thumbs.db utt.
  • Veidot izvades direktorijus: Tie galvenokārt ir / bin, / out utt. Direktoriji.
  • Atkarības kešatmiņas: Šie faili var būt / node vai / paketes moduļu saturs.
  • IDE konfigurācijas faili: Tie ir konfigurācijas faili, kurus galvenokārt izveido vai pārvalda jūsu IDE programmatūra.
  • Izpildes laikā ģenerētie faili: Ir dažas programmas, kas failus izveido izpildes laikā. Ja tiek palaists kāds no šiem kodiem, daži faili var tikt ģenerēti izpildes laikā jūsu darba mapē, un jūs tos varat ignorēt Git.

Neatkarīgi no tā, kuru failu vēlaties ignorēt, tiek izsekots īpašā failā ar nosaukumu .gitignore, kuru lielākoties pārbauda jūsu darba krātuves saknē. Saskaņā ar GitHub oficiālo dokumentāciju par šo tēmu nav īpašas gitignore komandas. Tā vietā jums ir manuāli jārediģē fails, kuru vēlaties ignorēt. .Gitignore failā ir modeļi, kas ir saskaņoti ar jūsu darba krātuves failu nosaukumiem, un tie tiek izmantoti, lai palīdzētu noteikt, vai konkrēts fails ir jāignorē vai nē.



Kas izraisa .gitignore nedarbošanos?

Iespēja, ka .gitignore funkcija darbojas nevainojami, taču, iespējams, neesat to pareizi konfigurējis. Visās mūsu aptaujās mēs nonācām pie secinājuma, ka modulis patiešām darbojas. Koderi nespēj izmantot šo funkciju galvenokārt tāpēc, ka viņi nav pareizi konfigurējuši failu vai ir daži nosacījumi, kas pamata kodā nav izpildīti.

Šeit ir daži risinājumi, kas varētu noderēt jums. Katrs risinājums var nebūt piemērots jūsu gadījumā, tāpēc pārliecinieties, ka pārslēdzaties uz nākamo, ja sākotnējie nosacījumi netiek izpildīti.

1. risinājums: .gitignore faila pārbaude

Interesants gadījums parādījās, kad redzējām, ka .gitignore fails tika izveidots nepareizā formātā. Šī konkrētā problēma radās, kad lietotāji izveidoja failu, izmantojot Windows Notepad noklusējuma lietojumprogrammu. Izrādās, ka Notepad failu raksta Unicode, nevis ANSI formātā. Šajā risinājumā mēs Notepad izmaiņas saglabāsim pareizajā .gitignore formātā un redzēsim, vai tas novērš problēmu.

Piezīme: Veidojot jaunu failu, izmantojot Notepad, no faila ir jānoņem .txt paplašinājums.

  1. Pēc koda ierakstīšanas vai izmaiņām jaunā teksta dokumentā Notepad noklikšķiniet uz Fails un atlasiet Saglabāt kā .

Saglabāt kā - Notepad

  1. Tagad priekšā Kodēšana , atlasiet ANSI . Tagad noņemiet .txt faila paplašinājumu un saglabājiet failu ar nosaukumu ‘ .gitignore ”. Izvēlieties pareizo direktoriju un saglabājiet.

Atlasot ANSI kā kodēšanas veidu

  1. Tagad dodieties uz direktoriju un pārbaudiet, vai ir izveidots pareizs fails. Tagad pārbaudiet to vēlreiz ar Git un pārbaudiet, vai Ignore funkcija darbojas, kā paredzēts.

Izstrādātājiem vajadzētu atturēties no noklusējuma Notepad izmantošanas sistēmā Windows. Tā vietā jums vajadzētu izmantot pareizo piezīmi “programmētāji”. Daži piemēri ietver Notepad ++ utt. Šajos jautājumos jums nebūs šādu problēmu.

Piezīme: Ja jūsu fails jau ir saglabāts UNICODE formātā, jums vajadzētu pareizi saglabāt saturu ANSI formātā, ja vēlaties, lai Git pareizi noteiktu jūsu failu.

2. risinājums: pārbaudiet failu, kuru mēģināt ignorēt

Vēl viens nosacījums, ar kuru darbojas .gitignore, ir tāds, ka jūsu failam nevajadzētu būt daļa no krātuves . Tas ir ļoti būtisks aspekts, it kā tā ir taisnība, fails netiks ignorēts, kā tas ir jau pievienots uz krātuvi. Git to nevar ignorēt, pat ja tā nosaukumu vai kārtulu ievietojat .gitignore failā. Tātad pēc būtības Gits tikai ignorē nesekotie faili .

Jums vajadzētu apskatīt savu struktūru (repozitoriju) un pārliecināties, vai fails, kuru pašlaik mēģināt ignorēt, nav pievienots repozitorijam. Ja tas tā ir, jums būs jānoņem fails no repozitorija un pēc jaunāko izmaiņu izdarīšanas pievienojiet tā nosaukumu .gitignore (varat arī kopēt faila saturu un pēc tā izdzēšanas to atkārtot ar citu nosaukumu) .

3. risinājums: failu atkārtota pievienošana krātuvei

Ja jau esat pievienojis kārtulas .gitignore, bet faili, kurus vēlaties ignorēt, jau ir pievienoti, mēs varam atkārtoti pievienot failus. Pievienošana nozīmē, ka mēs noņemsim visu no Git indeksa un pēc tam visu atkal pievienosim jūsu repozitorijam. Kad mēs atkal pievienosim failus no jauna, tiks paturēti prātā noteikumi, kurus esat pievienojis .gitignore, un tiek pievienoti tikai pareizie faili.

Piezīme: Pirms šī risinājuma veikšanas dublējiet kodu arī kaut kur citur. Vienmēr ir labi, ja katram gadījumam ir rezerves kopija.

  1. Izpildiet šādu komandu. Tas no skatuves un rekursīvā veidā noņems ceļu uz failiem no git indeksa.
git rm -r - kešatmiņā.
  1. Pēc tam, kad tas ir izpildīts, jums jāizpilda šāda komanda. Tas atjaunos visus jūsu failus un, tā kā .gitignore būs noteikumi, tiks atjaunināti tikai pareizie faili.
git pievienot.
  1. Tagad mēs iesūtīsim visus jūsu failus atpakaļ indeksā, izmantojot zemāk esošo kodu:
git pühend -m '.gitignore tagad strādā'

Tagad pārbaudiet savus failus un pārliecinieties, vai problēma ir atrisināta, un jūs atkal varat izmantot .gitignore bez problēmām.

4 minūtes lasītas