Git e cartelle vuote

Poiché è noto che Git non conosce cartelle ma solo file, le strutture di cartelle vuote non finiscono nel repository. Tuttavia, poiché molti quadri e progetti ne hanno assolutamente bisogno, dovrebbero finire lì. Una pratica comune è quella di creare i cosiddetti file segnaposto (spesso chiamati .gitkeep) che specificano implicitamente la struttura delle cartelle. Questi file possono essere facilmente creati e, se lo si desidera, possono anche garantire che altri file nelle cartelle vengano ignorati.


Per prima cosa creiamo un repository di test e creiamo alcune sottocartelle:

434e6616f335599d241482f169f68f1b

Ora abbiamo la seguente struttura di cartelle:

434e6616f335599d241482f169f68f1b

Uno stato git -u non ci mostra cambiamenti come previsto:

Git e cartelle vuote

Ora utilizziamo find per creare i file segnaposto in tutte le posizioni richieste:

434e6616f335599d241482f169f68f1b

Ora abbiamo ricevuto la seguente struttura di cartelle / file:

434e6616f335599d241482f169f68f1b

Uno stato git -u ora ci mostra che tutte le cartelle (implicitamente) finiscono nel repository:

Git e cartelle vuote

Se vogliamo assicurarci che la struttura delle cartelle finisca sempre nel repository, ma non tutti i file (a parte i file segnaposto), creiamo un gitignore:

434e6616f335599d241482f169f68f1b

Usiamo la sintassi a doppia stella :

434e6616f335599d241482f169f68f1b

La prima riga ignora ricorsivamente tutti i file e le cartelle (a qualsiasi livello) nella cartella "pippo", la seconda riga esclude ricorsivamente tutte le cartelle (a qualsiasi livello) da questa regola e la terza riga esclude tutti i file .gitkeep (a qualsiasi livello) .

Ora creiamo alcuni file di test:

434e6616f335599d241482f169f68f1b

Uno stato git -u ora ci mostra il risultato desiderato:

Git e cartelle vuote

Indietro