عن مولّد ملفات .gitignore
تأخذ هذه الأداة مجموعة القوالب الرسمية التي تديرها GitHub، أي github/gitignore، كما هي، فتدمج عدة قوالب في ملف واحد وتنظّم القواعد المتداخلة. ويمكنك التحقق فورًا من الملفات التي تتجاهلها قواعدك فعليًا في أداة اختبار الأنماط المبنية على قواعد المطابقة نفسها التي يستخدمها git. تتم كل المعالجة داخل المتصفح، ولا تُرسل القواعد والمسارات التي تدخلها إلى أي خادم.
الميزات الرئيسية
- البحث في 312 قالبًا واختيار عدة قوالب — ابحث بالاسم في قوالب اللغات والأطر، وأنظمة التشغيل والمحررات والأدوات، وقوالب المجتمع، واختر عدة قوالب لدمجها في ملف واحد. يمكنك إضافة النتيجة الأولى مباشرة بالضغط على Enter.
- إزالة التكرار دون الإخلال بالمعنى — إذا تكررت القاعدة نفسها في عدة قوالب، تُحذف النسخة اللاحقة. لكن إذا وُجدت قاعدة نفي `!` بين القاعدتين فتُترك كما هي، لأن النتيجة قد تتغير.
- تعليقات الأقسام والتعليقات الأصلية — يُضاف إلى كل قالب تعليق قسم يحمل مسار مصدره، لتعرف لاحقًا من أين جاءت كل قاعدة. ويمكنك أيضًا حذف التعليقات الأصلية والإبقاء على القواعد وحدها.
- إعدادات مسبقة للتركيبات الشائعة — اختر دفعة واحدة التركيبات الشائعة مثل Node + macOS + VS Code وJava + Maven + IntelliJ وUnity + Visual Studio.
- أداة اختبار الأنماط — الصق قائمة مسارات لترى هل يُتجاهل كل منها والقاعدة التي حسمت ذلك (مع رقم السطر). تُقيَّم قواعد النفي `!` والشرطة المائلة الختامية `/` و`**` والتثبيت واستبعاد المجلدات العليا بالطريقة نفسها التي يتبعها git.
- إنشاء أوامر إلغاء التتبع — يُنشئ أوامر `git rm --cached` لإخراج الملفات المُودَعة مسبقًا من التتبع، لكل من bash/zsh وPowerShell.
- النسخ والتنزيل ورابط المشاركة — انسخ النتيجة أو احفظها ملفًا باسم `.gitignore`. تُحفظ القوالب المختارة في العنوان (`?t=`) فيمكنك مشاركتها برابط.
طريقة الاستخدام
- ابحث عن القوالب في القائمة وحدِّدها، أو انقر على زر التركيبات الشائعة. عادةً تختار لغة أو إطارًا أو اثنين، إضافة إلى نظام التشغيل والمحرر اللذين تستخدمهما.
- راجع النتيجة في الجهة المقابلة. تنعكس التغييرات فورًا عند تبديل خيارات إزالة القواعد المكررة وتعليقات الأقسام والإبقاء على التعليقات الأصلية. اكتب القواعد الخاصة بمشروعك في قواعد تضيفها بنفسك.
- استخدم نسخ أو تنزيل لإنشاء
.gitignoreفي جذر المستودع. إذا حفظ متصفحك الملف باسمgitignore، فأعد تسميته بإضافة النقطة في أوله. - انقر على زر اختبار لنقل القواعد إلى تبويب اختبار الأنماط. الصق مسارات مستودعك وتحقق من أنها تُتجاهل كما تريد (مخرجات
git ls-filesأوfind . -type fمناسبة لذلك). - إذا لم تُتجاهل ملفات مُودَعة مسبقًا، فأنشئ الأوامر في تبويب إلغاء التتبع ثم نفّذها وأودِع التغييرات.
بيانات القوالب والترخيص
القوالب البالغ عددها 312 مأخوذة من الإيداع 356fd7b (2026-09-11) في مستودع github/gitignore. يُوزَّع هذا المستودع بترخيص CC0-1.0 (إهداء إلى الملك العام)، لذا يمكن نسخه وتعديله وإعادة توزيعه بحرية. يضم المجلد الجذر قوالب اللغات والأطر، ويضم Global قوالب أنظمة التشغيل والمحررات والأدوات، ويضم community القوالب المتخصصة. أما شروح القوالب ونصوص هذا الموقع فقد كتبها هذا الموقع.
الأسئلة الشائعة
أضفت الملف إلى .gitignore لكنه ما زال يظهر في git status.
لا يُطبَّق .gitignore إلا على الملفات غير المُتتبَّعة بعد. أما الملف المُودَع مسبقًا فيجب إخراجه من الفهرس بالأمر git rm --cached <file> ثم الإيداع حتى يُتجاهل. يمكنك إنشاء الأمر في تبويب إلغاء التتبع.
أعدت تضمين ملف باستخدام `!` لكنه ما زال مُتجاهَلًا.
إذا استُبعد المجلد الأعلى نفسه، فإن git لا يفحص محتواه، ولذلك لا يمكن استعادة الملفات التي بداخله باستخدام !. استبعد محتوى المجلد فقط، مثل logs/* بدلًا من logs/، ثم استخدم !logs/keep.txt. تعرض أداة اختبار الأنماط هذه الحالة على أنها «مُتجاهَل (مجلد أعلى)».
ألا تغيّر إزالة التكرار معنى القواعد؟
يتبع git آخر قاعدة مطابقة. إذا تكررت القاعدة نفسها دون وجود قاعدة ! بينهما، فإن حذف النسخة اللاحقة يعطي النتيجة نفسها. وإذا وُجدت قاعدة نفي بينهما، فلا تحذف هذه الأداة التكرار بل تُبقيه.
هل نتائج أداة اختبار الأنماط مطابقة لـ git الفعلي؟
بُنيت وفق وثيقة gitignore(5) وسلوك wildmatch في git، وقورنت آلاف الأنماط والمسارات العشوائية بنتائج git ls-files --ignored الفعلية وتأكد تطابقها. لكنها لا تحسب معًا ملفات .gitignore في المجلدات الفرعية ولا .git/info/exclude ولا الإعداد العام، لذا تحقق من الحكم على مستوى المستودع كله باستخدام git check-ignore -v.
هل يجب وضع قواعد macOS وVS Code في ملف .gitignore الخاص بالمشروع؟
الملفات التي ينشئها نظام التشغيل والمحرر تخص بيئتك الشخصية، لذا يُوصى بوضعها في ملف gitignore عام تحدده عبر core.excludesFile. ومع ذلك، تضعها فرق كثيرة في ملف المشروع أيضًا لأن كثيرًا من أعضاء الفريق لا يضبطون الإعداد العام.
ما مدى حداثة بيانات القوالب؟
يُنزَّل مستودع github/gitignore بواسطة سكربت البناء ويُضمَّن في الموقع. يظهر الإيداع المرجعي وتاريخه في صفحة «عن الخدمة» وأسفل قائمة القوالب وفي التعليق الافتتاحي للنتيجة المُنشأة.
هل يُحفظ ما أدخله أو يُرسل؟
لا. يجري الإنشاء والاختبار وإنشاء الأوامر كلها داخل المتصفح. لا يُحفظ في localStorage الخاص بهذا المتصفح سوى السمة (فاتحة/داكنة) وخيارات الإنشاء.