Git kaj malplenaj dosierujoj

Ĉar oni scias, ke Git konas neniujn dosierujojn sed nur dosierojn, malplenaj dosierujaj strukturoj ne finiĝas en la deponejo. Sed ĉar multaj kadroj kaj projektoj absolute bezonas ilin, ili devas finiĝi tie. Ofta praktiko estas krei tiel nomatajn lokokupilojn (ofte nomitajn .gitkeep), kiuj implicite specifas la dosierujan strukturon. Ĉi tiuj dosieroj facile kreiĝas kaj, se vi volas, ankaŭ povas certigi, ke aliaj dosieroj en la dosierujoj estas ignorataj.


Unue ni kreas testan repositorion kaj kreas iujn subdosierujojn:

434e6616f335599d241482f169f68f1b

Ni nun havas la jenan dosierujan strukturon:

434e6616f335599d241482f169f68f1b

Git statuso -u montras al ni neniujn ŝanĝojn kiel atendite:

Git kaj malplenaj dosierujoj

Ni nun uzas find por krei la lokokupilojn en ĉiuj bezonataj lokoj:

434e6616f335599d241482f169f68f1b

Ni nun ricevis la jenan dosierujon / dosieron:

434e6616f335599d241482f169f68f1b

Git-stato -u montras al ni, ke ĉiuj dosierujoj (implicite) finiĝas en la deponejo:

Git kaj malplenaj dosierujoj

Se ni volas certigi, ke la dosieruja strukturo ĉiam finiĝos en la deponejo, sed ne iuj dosieroj (krom la anstataŭiloj), ni kreas gitignore:

434e6616f335599d241482f169f68f1b

Ni uzas la duoblan sintakson :

434e6616f335599d241482f169f68f1b

La unua linio rekursie ignoras ĉiujn dosierojn kaj dosierujojn (je iu ajn nivelo) en la "foo" dosierujo, la dua linio ekskludas ĉiujn dosierujojn (je ĉiu nivelo) rekursie de ĉi tiu regulo kaj la tria linio ekskludas ĉiujn .gitkeep-dosierojn (je ĉiu nivelo) .

Nun ni kreas iujn test-dosierojn:

434e6616f335599d241482f169f68f1b

Git-stato nun montras al ni la deziratan rezulton:

Git kaj malplenaj dosierujoj

Reen