Git și foldere goale

Deoarece se știe că Git nu cunoaște foldere, ci doar fișiere, structurile goale de folder nu se termină în depozit. Cu toate acestea, din moment ce multe cadre și proiecte au absolut nevoie de ele, acestea ar trebui să ajungă acolo. O practică obișnuită este crearea așa-numitelor fișiere placeholder (adesea numite .gitkeep) care specifică implicit structura folderului. Aceste fișiere pot fi create cu ușurință și, dacă doriți, vă pot asigura, de asemenea, că alte fișiere din foldere sunt ignorate.


Mai întâi creăm un depozit de teste și creăm câteva subfoldere:

434e6616f335599d241482f169f68f1b

Avem acum următoarea structură de folder:

434e6616f335599d241482f169f68f1b

Un status git -u ne arată nici o modificare așa cum este de așteptat

Git și foldere goale

Acum folosim find pentru a crea fișierele de locație în toate locațiile necesare:

434e6616f335599d241482f169f68f1b

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

434e6616f335599d241482f169f68f1b

Un status git -u ne arată acum că toate folderele (implicit) sfârșesc în depozit:

Git și foldere goale

Dacă dorim să ne asigurăm că structura folderului se termină întotdeauna în depozit, dar nu orice fișier (în afară de fișierele de la locație), creăm un gitignore:

434e6616f335599d241482f169f68f1b

Folosim sintaxa dublă stea :

434e6616f335599d241482f169f68f1b

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

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

434e6616f335599d241482f169f68f1b

Un status git -u ne arată acum rezultatul dorit:

Git și foldere goale

Înapoi