Mivel a Git nem ismer mappákat, csak fájlokat, az üres mappastruktúrák nem kerülnek a tárba. Mivel sok keretrendszernek és projektnek feltétlenül szüksége van ezekre, ott kell végezniük. Általános gyakorlat az úgynevezett helyőrző fájlok létrehozása (gyakran .gitkeep néven), amelyek implicit módon meghatározzák a mappaszerkezetet. Könnyen létrehozhatja ezeket a fájlokat, és szükség esetén gondoskodhat arról, hogy a mappákban lévő többi fájl figyelmen kívül maradjon.
Először létrehozunk egy teszttárat és létrehozunk néhány almappát:
434e6616f335599d241482f169f68f1b
Most a következő mappaszerkezettel rendelkezünk:
434e6616f335599d241482f169f68f1b
A várakozásoknak megfelelően a git állapot -u nem mutat változásokat:

Most a find segítségével fogjuk létrehozni a helyőrző fájlokat az összes szükséges helyen:
434e6616f335599d241482f169f68f1b
Most megkaptuk a következő mappa / fájl struktúrát:
434e6616f335599d241482f169f68f1b
A git status -u most megmutatja, hogy az összes mappa (implicit módon) a lerakatba kerül:

Ha most azt akarjuk biztosítani, hogy a mappastruktúra mindig az adattárba kerüljön, de egyetlen fájl sem (a helyőrző fájlokon kívül), akkor létrehozunk egy gitignore-t:
434e6616f335599d241482f169f68f1b
Használjuk a Dupla csillag szintaxis:
434e6616f335599d241482f169f68f1b
Az első sor rekurzívan figyelmen kívül hagyja az összes fájlt és mappát (bármilyen szinten) a "foo" mappában, a második sor rekurzívan kizár minden mappát ebből a szabályból (bármely szinten), a harmadik sor pedig az összes .gitkeep fájlt kizárja (bármilyen szinten) .
Most hozzunk létre néhány tesztfájlt:
434e6616f335599d241482f169f68f1b
A git állapot -u most megmutatja a kívánt eredményt:
