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

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


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

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

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

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

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

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

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

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

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

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

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

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

434e6616f335599d241482f169f68f1b

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

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

عودة