Git és üres mappák

Mivel közismert, hogy Git nem ismer mappákat, hanem csak fájlokat, az üres mappastruktúrák nem kerülnek a lerakatba. Mivel azonban számos keretrendszerre és projektre szükségük van rájuk, végül ott kell lennie. Általános gyakorlat az úgynevezett helyőrző fájlok (gyakran .gitkeep) létrehozása, amelyek implicit módon meghatározzák a mappastruktúrát. Ezeket a fájlokat könnyen el lehet készíteni, és ha szükséges, biztosíthatja azt is, hogy a mappákban szereplő többi fájlt figyelmen kívül hagyják.


Először hozzon létre egy teszt lerakatot, és hozzon létre néhány almappát:

434e6616f335599d241482f169f68f1b

Most a következő mappastruktúránk van:

434e6616f335599d241482f169f68f1b

A git status -u nem mutatja a várt változásokat:

Git és üres mappák

Most a find segítségével hozunk létre helyőrző fájlokat az összes szükséges helyre:

434e6616f335599d241482f169f68f1b

Most megkaptuk a következő mappa / fájl szerkezetet:

434e6616f335599d241482f169f68f1b

A git status -u most megmutatja, hogy minden mappa (hallgatólagosan) a lerakatba kerül:

Git és üres mappák

Ha azt akarjuk biztosítani, hogy a mappastruktúra mindig a lerakatba kerüljön, de ne a fájlok (a helyőrző fájlokat kivéve), létrehozunk egy gitignore-t:

434e6616f335599d241482f169f68f1b

A kettős csillag szintaxist használjuk :

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 az összes mappát (bármilyen szinten) rekurzív módon kizárja ebből a szabályból, a harmadik sor pedig kizárja az összes .gitkeep fájlt (bármilyen szinten). .

Most létrehozunk néhány tesztfájlt:

434e6616f335599d241482f169f68f1b

A git status -u most megmutatja a kívánt eredményt:

Git és üres mappák

Vissza