Questa è la mia struttura di cartelle:Git Ignora tutto in una directory ad eccezione sottocartelle
data/
.gitignore
uploads/
.gitignore
vorrei impegnare le cartelle ma non i file al loro interno.
Quindi aggiungo un file .gitignore in ogni cartella con il seguente contenuto:
# Ignore everything in this directory
*
# Except this file
!.gitignore
Il problema è che le partite *
anche sulle directory tracce in modo git solo data/.gitignore
Cosa abuso è quello? Ha un bisogno perfettamente legittimo e @ nickel715 lo sta risolvendo bene, con un hack di una complessità simile a quella che stai proponendo ... – dangonfast
Perché un '.gitignore' dice a ogni sviluppatore successivo che deve guardare quel file_ solo per vedere nulla che viene ignorato. I file '.gitignore' non sono pensati per essere impostati su qualsiasi directory rispetto alla directory principale. Se lo facessi, allora tutti dovrebbero esaminare tutte le sottocartelle per vedere se c'è qualcosa di ignorato (e scoprire che non c'è nulla di ignorato) per vedere cosa effettivamente finisce nel repository o in una pipeline di distribuzione. Non aggiungere complessità non necessaria per gli sviluppatori successivi, perché sei pigro e non seguire le convenzioni. – kaiser
Ignora ancora le sottodirectory. -1 – CommaToast