चूंकि गिट कोई फ़ोल्डर नहीं जानता है, केवल फाइलें, खाली फ़ोल्डर संरचनाएं रिपॉजिटरी में समाप्त नहीं होती हैं। हालाँकि, कई रूपरेखा और परियोजनाओं को इसकी आवश्यकता है, इसलिए उन्हें वहाँ समाप्त होना चाहिए। एक सामान्य प्रथा तथाकथित प्लेसहोल्डर फाइलें (जिसे अक्सर .गितिस) कहा जाता है, बनाने के लिए है, जो फ़ोल्डर की संरचना को स्पष्ट रूप से निर्दिष्ट करता है। इन फ़ाइलों को आसानी से बनाया जा सकता है और, यदि वांछित है, तो यह भी सुनिश्चित करें कि फ़ोल्डर्स में अन्य फ़ाइलों को अनदेखा किया गया है।
पहले हम एक परीक्षण भंडार बनाते हैं और कुछ उप-फ़ोल्डर बनाते हैं:
434e6616f335599d241482f169f68f1b
अब हमारे पास निम्नलिखित फ़ोल्डर संरचना है:
434e6616f335599d241482f169f68f1b
जैसी कि उम्मीद थी, git status -u हमें कोई बदलाव नहीं दिखाता है:
अब हम सभी आवश्यक स्थानों पर प्लेसहोल्डर फ़ाइलों को बनाने के लिए खोज का उपयोग करेंगे:
434e6616f335599d241482f169f68f1b
अब हमें निम्नलिखित फ़ोल्डर / फ़ाइल संरचना प्राप्त हुई है:
434e6616f335599d241482f169f68f1b
Git स्टेटस -u अब हमें दिखाता है कि सभी फोल्डर (संक्षेप में) रिपॉजिटरी में समाप्त हो गए हैं:
यदि हम अब यह सुनिश्चित करना चाहते हैं कि फ़ोल्डर संरचना हमेशा रिपॉजिटरी में समाप्त हो जाती है, लेकिन किसी भी फाइल (प्लेसहोल्डर फ़ाइलों के अलावा) में, हम एक gitignore नहीं बनाते हैं:
434e6616f335599d241482f169f68f1b
हम का उपयोग करते हैं डबल स्टार सिंटेक्स:
434e6616f335599d241482f169f68f1b
पहली पंक्ति "foo" फ़ोल्डर में सभी फ़ाइलों और फ़ोल्डरों (किसी भी स्तर पर) की पुनरावर्ती रूप से उपेक्षा करती है, दूसरी पंक्ति इस नियम (किसी भी स्तर पर) से सभी फ़ोल्डरों को पुन: सम्मिलित करती है और तीसरी पंक्ति सभी (। स्तर की फ़ाइलों को किसी भी स्तर पर) शामिल नहीं करती है। ।
अब कुछ टेस्ट फाइल बनाते हैं:
434e6616f335599d241482f169f68f1b
एक git स्टेटस -u अब हमें वांछित परिणाम दिखाता है: