Git och tomma mappar

Eftersom det är välkänt att Git inte känner till några mappar utan bara filer, hamnar inte tomma mappstrukturer i förvaret. Men eftersom många ramar och projekt absolut behöver dem, borde de hamna där. En vanlig praxis är att skapa så kallade placeholder-filer (ofta kallad .gitkeep) som implicit specificerar mappstrukturen. Dessa filer kan enkelt skapas och kan, om så önskas, också se till att andra filer i mapparna ignoreras.


Först skapar vi ett testförvar och skapar några undermappar:

434e6616f335599d241482f169f68f1b

Vi har nu följande mappstruktur:

434e6616f335599d241482f169f68f1b

En git-status -u visar oss inga förändringar som förväntat:

Git och tomma mappar

Vi använder nu find för att skapa platshållarfilerna på alla nödvändiga platser:

434e6616f335599d241482f169f68f1b

Vi har nu fått följande mapp / filstruktur:

434e6616f335599d241482f169f68f1b

En git-status -u visar oss nu att alla mappar (implicit) hamnar i förvaret:

Git och tomma mappar

Om vi ​​vill se till att mappstrukturen alltid hamnar i förvaret, men inte några filer (bortsett från platshållarfilerna), skapar vi en gitignore:

434e6616f335599d241482f169f68f1b

Vi använder dubbelstjärnsyntaxen :

434e6616f335599d241482f169f68f1b

Den första raden ignorerar rekursivt alla filer och mappar (på vilken nivå som helst) i mappen "foo", den andra raden utesluter alla mappar (på vilken nivå som helst) rekursivt från denna regel och den tredje raden utesluter alla .gitkeep-filer (på valfri nivå) .

Nu skapar vi några testfiler:

434e6616f335599d241482f169f68f1b

En git-status -u visar oss nu önskat resultat:

Git och tomma mappar

Tillbaka