Sto usando msysgit e ho una struttura di progetto che contiene molti bin/cartelle nell'albero. Usando il file .gitignore nella root del progetto ho bisogno di ignorare tutti i file .dll che si trovano all'interno di un bin/cartella in qualsiasi punto dell'albero del progetto. Ho provato "bin/*. Dll" ma non funziona, presumo che funzioni solo contro il bin/cartella nella root del progetto.Git - Ignora determinati file contenuti in cartelle specifiche
risposta
Aggiornamento agosto 2016 (sette anni più tardi, Git 2.9.3/Git 2.10)
**/bin/*.dll
Questo funziona per qualsiasi profondità.
risposta Originale (2009, Git 1.6)
Hai provato:
**/bin/*.dll
funziona con il mio msysgit1.6.3 (con un file .gitignore
nella directory principale del Git spazio di lavoro).
In realtà quanto sopra ignorerebbe solo "x/bin/z.dll
", non "x/y/bin/z.dll
".
Un'altra sintassi potrebbe essere:
**/*/bin/*.dll
Ma questo sarebbe solo ottenere la profondità 3, non la profondità 2!
Quindi, se non si dispone di troppi luogo dove * .dll deve essere ignorato, la soluzione più semplice sarebbe ancora un file locale .gitignore in queste directory 'bin' ...
o un insieme di direttiva per coprire le prime profondità principali:
bin/*.dll
**/bin/*.dll
**/*/bin/*.dll
**/**/*/bin/*.dll
e così via, tutto in un file .gitignore.
Sto usando msysgit 1.6.3 anche se il pattern **/bin/*. dll non ha funzionato. Ho aggiunto quel pattern al mio .gitignore nella root e poi ho provato "git add --dry-run * .dll" dalla root e ha elencato i miei file .dll contenuti nel bin/folder dell'albero del mio progetto. –
Ho appena /bin
nel mio file e sembra funzionare. Ignora l'intera cartella (al contrario dei file specifici in essa contenuti)
Ecco i contenuti completi fin d'ora (ancora in evoluzione).
.svn*
obj/
bin/
*.suo
*.user
Log/
log/
*.db
Funziona. almeno per me. git versione 1.7.2.5 –
sì. eccellente! funziona anche per me – gpol
*/bin ha lavorato per me
mi piacerebbe pensare che */bin/farebbe pure.
Appena avuto un problema simile e realizzato: i file erano già stati aggiunti e archiviati in git.
Come riconoscere la differenza: Git non ha mostrato i file come "nuovi", ma come "modificati". Questo dettaglio mi è costato un bel po 'di tempo ...
Se questo è il problema, semplicemente "git rm" questi file e ricominciare da capo. All'improvviso, .gitignore inizia a funzionare come previsto.
questo ha funzionato per me, ma è la cosa più stupida che ho dovuto fare coinvolgendo Git. – BryanGrimes
git rm -f -r/percorso # per forzare e rimuovere una cartella. – tgkprog
.gitignore su Windows, non sembra funzionare. Sto usando msysgit v 1.7.6 beta, e semplicemente non funziona come dovrebbe per la pagina man di .gitignor. Ora, se copio il contenuto del mio file .gitignore nel file $ GIT_DIR/info/exclude, all'interno del repository, le cose funzionano.
Quindi, la rottura è che questo non viene replicato, ma è meglio di niente.
Questo ha funzionato! Sto usando github per Windows –
- 1. Ignora determinati file dalle modifiche in sospeso
- 2. PHP Recursive Directory Iterator - ignora determinati file.
- 3. Git: Ignora file tracciati
- 4. git: Tirando solo determinati file
- 5. Ignora le cartelle in PhpStorm
- 6. Git ignora i file cancellati
- 7. Ignora i file cancellati in git?
- 8. Ignora le specifiche DTD in scala
- 9. Ignora TransactionScope per query specifiche
- 10. Obiettivi Ignora e Maven Git
- 11. Ignora le avvertenze specifiche in Xcode 6
- 12. Come spingere determinati file in origine/master in git?
- 13. Script batch per elencare le cartelle ma escludere cartelle specifiche
- 14. Git ignora il file cancellato sulla fusione
- 15. Git - Ignora temporaneamente modifiche banali ai file
- 16. git non ignora 2 file specificatamente denominati
- 17. Impossibile aggiungere file o cartelle a svn: ignora
- 18. Git - Ignora i file durante l'unione
- 19. Git Ignora tutto in una directory ad eccezione sottocartelle
- 20. git e cartelle vuote
- 21. Commettere parti specifiche di un file in Git
- 22. Come posso disabilitare auto_prepend in cartelle specifiche usando htaccess?
- 23. Git pulite cartelle all'interno ignorati
- 24. gitignore non ignora .suo File Visual Studio
- 25. Git che non ignora alcuni file Xcode in .gitignore
- 26. Git diff non ignora i file specificati in .gitignore
- 27. Ignora tutti i file con lo stesso nome in git
- 28. Git ignora gitconfig?
- 29. Come copiare determinati file (senza gerarchia di cartelle), ma non sovrascrivere i file esistenti?
- 30. Problema con la sottodirectory ignora in git
io confermo "git add --dry-run * .dll" solo aggiungere dll non ignorato. Potresti pubblicare il contenuto del tuo file .gitignore? – VonC
Hai ragione: '**/bin/*. Dll' funziona solo per 'x/bin/z.dll' (profondità 2), non 'x/y/bin/z.dll' (profondità 3). Guardando dentro ora. – VonC
Non sono sicuro che il pattern gitignore supporti il riconoscimento ricorsivo delle directory ... Ho modificato la mia risposta. – VonC