2016-01-27 2 views
5

Mi sono guardato intorno e non sono riuscito a trovare lo stesso scenario che ho. Ho:Git ignora le sottocartelle ma non i file in una cartella

--public 
     |--img 
      |--logo (folder) 
      |--post_image (folder) 
      |--banner.jpg 
      |--icon.ico 
      |--image1.jpg 
      |-........etc 

Ho bisogno di ignorare le cartelle logo e post_image, ma voglio mantenere tutti i file che si trova all'interno della cartella img. Come potrei farlo?

In questo momento ho **/public/img ma ritengo che non sia l'approccio giusto!

risposta

8

ho trovato questo per essere più semplice (almeno nel caso ci sono molte sottocartelle):

public/img/*/ 

Questo escluderà tutte le sottocartelle in public/img/, ma non escluderà i file in questa cartella.

5

È possibile inserire un file .gitignore in qualsiasi directory figlio, non deve essere nella directory principale. Nel tuo caso, un file .gitignore nella directory public/img con il contenuto:

logo 
post_image 

farebbe il lavoro.

Per altri approcci, si potrebbe desiderare di guardare:

+0

È anche possibile farlo dalla directory principale? Come avere un file .gitignore nella radice con '/ img/logo' e'/img/post-Image'? C'è una differenza se lo faccio dalla directory root o direttamente dalle directory figlio? – Cristian

+1

In realtà voglio ignorare tutte le sottocartelle ma non i file. Negli OP questo significherebbe che non voglio specificamente 'logo' e' post_image' in particolare perché se aggiungo un'altra cartella e dimentico che non sarà ignorata. C'è un modo per specificare ignorare tutte le sottocartelle ma non i file in una cartella specifica? In altre parole 'dist/foo.txt' si,' dist/someFolder' no – gman