Ho visto domande simili (1, 2 e 3), ma non ottengo una soluzione adeguata da loro.Ignorare tutti i file in modo ricorsivo correttamente in una cartella specifica tranne uno specifico tipo di file
Devo ignorare tutti i file in una cartella particolare tranne per un tipo di file specifico. La cartella è una sottodirectory per il percorso principale. Fammi nominare la cartella Resources
. Dal momento che non voglio complicare le cose, lasciatemi ignorare i file in tutte le cartelle denominate Resources
ovunque si trovi.
Questa è la soluzione più comune (in tutte le questioni duplicati)
# Ignore everything
*
# Don't ignore directories, so we can recurse into them
!*/
# Don't ignore .gitignore
!.gitignore
# Now exclude our type
!*.foo
Il problema di questa soluzione è che smette di inseguimento di recente aggiunto i file (dal *
ignora tutti i file). Non voglio continuare ad escludere ogni tipo di file. Voglio un comportamento normale in cui se viene aggiunto un nuovo file, lo mostra git status
.
Ho finalmente trovato una soluzione here. La soluzione è aggiungere un altro file .gitignore
nella cartella Resources
. Funziona correttamente
È possibile ottenere lo stesso risultato con un file ignorato? Trovo che avere molti ignora i file in diverse directory un po 'goffo.
questo è quello che sto cercando di realizzare:
# Ignore everything under Resources folder, not elsewhere
Resources
# Don't ignore directories, so we can recurse into them
!*Resources/
# Now exclude our type
!*.foo
Ma questo dà l'uscita opposta. Ignora i tipi *.foo
e tiene traccia di altri file.
Questo funziona per me, leggermente aggiustato, ho solo bisogno di rimuovere le directory e tutto sotto di loro così ho fatto: 'DirectoryName1/** DirectoryName1/**/*' per ognuno di essi. Gli abeti rimuovono le directory ma è necessario il secondo rimuovere tutti i tipi di file. –