0

Penguji Gitignore

Tampalkan peraturan .gitignore anda dan senarai laluan fail untuk melihat dengan tepat fail mana yang diabaikan, dengan peraturan dan baris yang tepat, dan peraturan penafian mana yang mati secara senyap kerana direktori induk sudah diabaikan.

Buy Me a Coffee at ko-fi.com
Memproses... 0%
Menghuraikan peraturan .giignore
Memadankan laluan fail
Selesai

Hasilnya

"Mengapa penafian .gitignore saya tidak berfungsi?" ialah salah satu soalan git yang paling biasa ada, dan jawapan jujurnya hampir selalu sama: `!corak` yang cuba memasukkan semula fail di dalam direktori yang peraturan terdahulu sudah dikecualikan tidak boleh berfungsi, kerana git tidak turun ke direktori yang diabaikan untuk menyemak semula apa-apa di dalamnya. Alat ini mengimplementasikan semula algoritma pemadanan .gitignore sebenar git — bukan anggaran — khususnya supaya ia dapat menangkap dan menerangkan situasi yang tepat itu, bersama-sama dengan setiap peraturan corak lain yang disokong git.

Tampalkan peraturan .gitignore anda ke dalam satu kotak dan senarai laluan fail (satu setiap baris, seperti `dist/index.js`, `node_modules/foo/bar.js`, atau `.env`) ke dalam kotak yang lain dan alat itu menilai setiap laluan tepat seperti yang akan dilakukan oleh git: komen dan baris kosong dilangkau, ruang mengekor dilucutkan kecuali peraturan di hadapan. `/` melabuhkannya pada akar dan bukannya membiarkannya padan pada sebarang kedalaman, `/` mengekori mengehadkannya kepada direktori dan kelas aksara `*`, `?`, `[abc]` dan `**` (padanan merentas sempadan direktori) semuanya berfungsi mengikut peraturan glob yang didokumenkan.

Secara kritis, laluan disemak direktori mengikut direktori dari akar ke bawah, dengan cara yang sama enjin abaikan git sendiri berfungsi — bukan dengan menguji laluan penuh terhadap setiap peraturan secara berasingan. Itulah yang memungkinkan untuk mengesan kes penolakan mati dengan betul: jika `dist/` diabaikan pada baris 3 dan kemudian `!dist/keep.js` cuba menyelamatkan satu fail di dalamnya, alat ini melaporkan `dist/keep.js` sebagai masih diabaikan, menamakan peraturan baris-3 sebagai sebab dan secara berasingan membenderakan pengabaian itu daripada dibayangi secara berasingan.

Jadual hasil memberikan setiap laluan yang diuji barisnya sendiri dengan keputusan yang jelas ya/tidak diabaikan, teks peraturan yang tepat dan nombor baris yang memutuskannya, dan — apabila berkaitan — nota bahasa biasa yang menerangkan penolakan berbayang atau peraturan direktori induk yang diwarisi. Itulah perincian yang menjadikan .gitignore yang mengelirukan menjadi satu yang anda boleh fikirkan sebelum melakukan.