Gitignore testeris
Ielīmējiet savus .gitignore kārtulas un failu ceļu sarakstu, lai precīzi redzētu, kuri faili tiek ignorēti, pēc kuras precīzas kārtulas un rindas un kuras noraidīšanas kārtulas ir klusi beigušās, jo vecākdirektorijs jau tiek ignorēts.
Rezultāts
"Kāpēc mans .gitignore noliegums nedarbojas?" ir viens no visizplatītākajiem git jautājumiem, un godīgā atbilde gandrīz vienmēr ir viena un tā pati: `!pattern`, mēģinot atkārtoti iekļaut failu direktorijā, kuru jau ir izslēdzis agrākais noteikums, nekad nevar darboties, jo git nenolaižas ignorētos direktorijos, lai atkārtoti pārbaudītu kaut ko tajos. Šis rīks īpaši ievieš git faktisko .gitignore atbilstības algoritmu — nevis tuvinājumu —, lai tas varētu uztvert un izskaidrot konkrēto situāciju, kā arī jebkuru citu git atbalstīto modeļu kārtulu.
Ielīmējiet .gitignore kārtulas vienā lodziņā un faila ceļu sarakstu (pa vienam katrā rindā, piemēram, `dist/index.js`, `node_modules/foo/bar.js` vai `.env`) otrā lodziņā, un rīks novērtē katru ceļu tieši tā, kā to darītu git: komentāri un tukšās rindas tiek izlaistas, kārtulas beigu atstarpes ir izsvītrotas. `/` noenkuro to saknē, nevis ļauj tai saskaņot jebkurā dziļumā, beigu `/` ierobežo to ar direktorijiem, un `*`, `?`, `[abc]` rakstzīmju klases un `**` (atbilst direktoriju robežām) viss darbojas saskaņā ar dokumentētajiem globusa noteikumiem.
Būtiski, ka ceļi tiek pārbaudīti direktorijā pēc direktorijas, sākot no saknes uz leju, tāpat kā darbojas paša git ignorēšanas programma — nevis pārbaudot pilnu ceļu pret katru noteikumu atsevišķi. Tas ļauj pareizi noteikt mirušās noliegšanas gadījumu: ja 'dist/' tiek ignorēts 3. rindā un vēlāk '!dist/keep.js' mēģina glābt vienu failu tajā, šis rīks ziņo, ka dist/keep.js joprojām tiek ignorēts, kā iemeslu nosauc 3. rindas kārtulu un atsevišķi atzīmē noliegumu kā to izliekošu, nevis klusu.
Rezultātu tabula katram pārbaudītajam ceļam sniedz savu rindu ar skaidru jā/nē ignorēto spriedumu, precīzu kārtulas tekstu un rindas numuru, kas to izlēma, un, ja nepieciešams, piezīmi vienkāršā valodā, kas izskaidro ēnotu noliegumu vai mantotu vecākdirektorija kārtulu. Šī ir detaļa, kas pārvērš mulsinošu .gitignore par tādu, par kuru jūs patiešām varat apsvērt, pirms veicat apņemšanos.