Ho creato una white-list solo per i file di testo.
* !*.txt
Ora, ho un file di testo non tracciato in una sottodirectory – sub/dir/file.txt
, e questo NON è mostrato (è ignorato). Tuttavia, vengono mostrati i file di testo nella directory principale.
Perché è così, e come lo risolvo?
Se lo provi in questo modo, fallirà, perché finirai per mettere in blacklist le directory nella tua struttura.
Per risolvere, si desidera mettere in blacklist tutto ciò che non è una directory e non è uno dei tipi di file che si desidera eseguire il commit, ma non le directory di blacklisting .
Il file .gitignore
che farà questo:
# First, ignore everything * # Now, whitelist anything that's a directory !*/ # And all the file types you're interested in. !*.one !*.two !*.etc
Testato questo in una struttura a tre livelli white-listing per i file .txt
in presenza di file *.one
, *.two
e *.three
usando un .gitignore
situato nella directory root del repository – funziona per me. Non dovrai aggiungere file .gitignore
a tutte le directory nella tua struttura.
Le informazioni che ho usato per capire la risposta provenivano, tra le altre cose, da (stackoverflow.com).