Git și foldere goale

Deoarece Git nu cunoaște folderele, doar fișierele, structurile de foldere goale nu ajung în depozit. Deoarece multe cadre și proiecte au absolut nevoie de acestea, ar trebui să ajungă acolo. O practică obișnuită este crearea așa-numitelor fișiere substituenți (numite adesea .gitkeep), care specifică implicit structura folderului. Puteți crea cu ușurință aceste fișiere și, dacă doriți, să vă asigurați că celelalte 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