Git és üres mappák

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:

Git és üres mappák

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:

Git és üres mappák

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:

Git és üres mappák

Vissza