Penguji Gitignore
Tampalkan peraturan .gitignore dan senarai laluan fail untuk melihat dengan tepat fail mana yang diabaikan, oleh peraturan dan baris yang mana, dan peraturan negasi mana yang senyap tidak berfungsi kerana direktori induk sudah diabaikan.
🔒 Diproses sepenuhnya dalam penyemak imbas anda — tiada apa yang anda masukkan di sini pernah dimuat naik.
Keputusan
"Kenapa negasi .gitignore saya tidak berfungsi?" adalah antara soalan git yang paling kerap ditanya, dan jawapan sebetulnya hampir sentiasa sama: corak `!` yang cuba memasukkan semula fail di dalam direktori yang telah dikecualikan oleh peraturan terdahulu tidak akan berfungsi, kerana git tidak masuk ke dalam direktori yang diabaikan untuk menyemak apa-apa di dalamnya semula. Alat ini melaksanakan semula algoritma padanan .gitignore sebenar git — bukan anggaran — khusus untuk mengesan dan menjelaskan situasi tersebut, bersama setiap peraturan corak lain yang disokong oleh git.
Tampalkan peraturan .gitignore anda ke dalam satu kotak dan senarai laluan fail (satu per baris, seperti `dist/index.js`, `node_modules/foo/bar.js`, atau `.env`) ke dalam kotak yang satu lagi, dan alat ini menilai setiap laluan tepat seperti cara git melakukannya: ulasan dan baris kosong dilangkau, ruang hujung dipotong kecuali jika diescai, awalan `!` menegasikan peraturan, awalan `/` menambatnya ke punca dan bukannya membenarkan padanan di sebarang kedalaman, akhiran `/` menghadkannya kepada direktori sahaja, dan `*`, `?`, kelas aksara `[abc]` dan `**` (memadankan merentasi sempadan direktori) semuanya berfungsi mengikut peraturan glob yang terdokumentasi.
Yang penting, laluan disemak direktori demi direktori dari punca ke bawah, sama seperti enjin pengabaian git sendiri — bukan dengan menguji laluan penuh terhadap setiap peraturan secara berasingan. Itulah yang memungkinkan pengesanan betul kes negasi mati: 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 puncanya, dan secara berasingan menanda negasi itu sebagai terlindungi daripada berpura-pura ia berfungsi.
Jadual hasil memberikan setiap laluan yang diuji barisnya sendiri dengan keputusan ya/tidak diabaikan yang jelas, teks peraturan tepat dan nombor baris yang menentukannya, dan — apabila berkaitan — nota bahasa mudah yang menjelaskan negasi terlindungi atau peraturan direktori induk yang diwarisi. Itulah butiran yang menukar .gitignore yang mengelirukan kepada yang boleh anda fahami sebelum melakukan commit.