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

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


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

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

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

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

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

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

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

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

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

434e6616f335599d241482f169f68f1b

نستخدم بناء النجم المزدوج :

434e6616f335599d241482f169f68f1b

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

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

434e6616f335599d241482f169f68f1b

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

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

عودة