Git والمجلدات الفارغة

نظرًا لأن Git لا يعرف المجلدات، فإن الملفات فقط وهياكل المجلدات الفارغة لا تنتهي في المستودع. وبما أن العديد من الأطر والمشاريع تحتاج إلى هذه العناصر بشكل مطلق، فيجب أن ينتهي بها الأمر هناك. من الممارسات الشائعة إنشاء ما يسمى بالملفات النائبة (غالبًا ما تسمى .gitkeep)، والتي تحدد ضمنيًا بنية المجلد. يمكنك إنشاء هذه الملفات بسهولة، والتأكد من تجاهل الملفات الأخرى الموجودة في المجلدات، إذا رغبت في ذلك.


أولاً ، نقوم بإنشاء مستودع اختبار وإنشاء بعض المجلدات الفرعية:

434e6616f335599d241482f169f68f1b

لدينا الآن هيكل المجلد التالي:

434e6616f335599d241482f169f68f1b

كما هو متوقع ، لا تظهر لنا حالة git -u أي تغييرات:

Git والمجلدات الفارغة

سنستخدم الآن البحث لإنشاء ملفات العناصر النائبة في جميع المواقع المطلوبة:

434e6616f335599d241482f169f68f1b

لقد تلقينا الآن بنية المجلد / الملف التالية:

434e6616f335599d241482f169f68f1b

توضح لنا حالة git -u الآن أن جميع المجلدات (ضمنيًا) تنتهي في المستودع:

Git والمجلدات الفارغة

إذا أردنا الآن التأكد من أن بنية المجلد تنتهي دائمًا في المستودع ، ولكن ليس أي ملفات (بصرف النظر عن ملفات العناصر النائبة) ، فإننا ننشئ gitignore:

434e6616f335599d241482f169f68f1b

نحن نستفيد من بناء جملة نجمة مزدوجة:

434e6616f335599d241482f169f68f1b

يتجاهل السطر الأول بشكل متكرر جميع الملفات والمجلدات (على أي مستوى) في مجلد "foo" ، ويستبعد السطر الثاني بشكل متكرر جميع المجلدات من هذه القاعدة (على أي مستوى) ويستبعد السطر الثالث جميع ملفات .gitkeep (على أي مستوى) .

لنقم الآن بإنشاء بعض ملفات الاختبار:

434e6616f335599d241482f169f68f1b

تظهر لنا حالة git -u الآن النتيجة المرجوة:

Git والمجلدات الفارغة

عودة