Git și foldere goale

Deoarece Git nu cunoaște foldere, ci doar fișiere, structuri de folder goale nu ajung în depozit. Cu toate acestea, deoarece multe cadre și proiecte au absolut nevoie de acest lucru, ele ar trebui să ajungă acolo. O practică obișnuită este crearea așa-numitelor fișiere de substituent (adesea numite .gitkeep), care specifică implicit structura folderelor. Aceste fișiere pot fi create cu ușurință și, dacă se dorește, se asigură că alte fișiere din foldere sunt ignorate.


Mai întâi creăm un depozit de testare și creăm câteva sub-foldere:

434e6616f335599d241482f169f68f1b

Acum avem următoarea structură de dosare:

434e6616f335599d241482f169f68f1b

Așa cum era de așteptat, starea git -u nu ne arată modificări:

Git și foldere goale

Acum vom folosi find pentru a crea fișierele de substituent în toate locațiile necesare:

434e6616f335599d241482f169f68f1b

Am primit acum următoarea structură de dosare / fișiere:

434e6616f335599d241482f169f68f1b

O stare git -u ne arată acum că toate folderele (implicit) ajung în depozit:

Git și foldere goale

Dacă dorim acum să ne asigurăm că structura folderelor ajunge întotdeauna în depozit, dar nu și fișiere (în afară de fișierele substituent), creăm un gitignore:

434e6616f335599d241482f169f68f1b

Facem uz de Sintaxa stea dublă:

434e6616f335599d241482f169f68f1b

Prima linie ignoră recursiv toate fișierele și folderele (la orice nivel) din folderul „foo”, a doua linie exclude recursiv toate folderele din această regulă (la orice nivel), iar a treia linie exclude toate fișierele .gitkeep (la orice nivel) .

Acum să creăm câteva fișiere de testare:

434e6616f335599d241482f169f68f1b

O stare git -u ne arată acum rezultatul dorit:

Git și foldere goale

Înapoi