از آنجایی که Git پوشهها را نمیشناسد، فقط فایلها، ساختارهای پوشه خالی به مخزن ختم نمیشوند. از آنجایی که بسیاری از چارچوبها و پروژهها کاملاً به این موارد نیاز دارند، باید به آنجا ختم شوند. یک روش متداول این است که به اصطلاح فایل های مکان نگهدار (که اغلب gitkeep. نامیده می شود) ایجاد می شود که به طور ضمنی ساختار پوشه را مشخص می کند. شما به راحتی می توانید این فایل ها را ایجاد کنید و در صورت تمایل از نادیده گرفتن سایر فایل های موجود در پوشه ها اطمینان حاصل کنید.
ابتدا یک مخزن آزمایش ایجاد می کنیم و چند پوشه فرعی ایجاد می کنیم:
434e6616f335599d241482f169f68f1b
اکنون ساختار پوشه زیر را داریم:
434e6616f335599d241482f169f68f1b
همانطور که انتظار می رفت ، وضعیت git -u هیچ تغییری به ما نشان نمی دهد:

اکنون ما از find برای ایجاد پرونده های نگهدارنده مکان در همه مکان های مورد نیاز استفاده خواهیم کرد:
434e6616f335599d241482f169f68f1b
اکنون ساختار پوشه / پرونده زیر را دریافت کرده ایم:
434e6616f335599d241482f169f68f1b
دستگاه گوارش وضعیت -u اکنون نشان می دهد ما که تمام پوشه ها (به طور ضمنی) تا پایان در مخزن:

اگر اکنون می خواهیم اطمینان حاصل کنیم که ساختار پوشه همیشه در مخزن ختم می شود ، اما هیچ پرونده ای (به غیر از پرونده های نگهدارنده مکان) ، یک gitignore ایجاد می کنیم:
434e6616f335599d241482f169f68f1b
ما از نحو دو ستاره:
434e6616f335599d241482f169f68f1b
خط اول به طور بازگشتی تمام پرونده ها و پوشه ها (در هر سطح) را در پوشه "foo" نادیده می گیرد ، خط دوم به طور بازگشتی همه پوشه ها را از این قانون (در هر سطح) و خط سوم همه پرونده های .gitkeep (در هر سطح) را حذف می کند .
حالا بیایید چند فایل آزمایشی ایجاد کنیم:
434e6616f335599d241482f169f68f1b
یک وضعیت git -u اکنون نتیجه مطلوب را به ما نشان می دهد:
