Domanda

Come aggiungo qualcosa al .gitignore in modo che la partita non è ricorsiva?

Per esempio, voglio ignorare la foo directory e il file bar.txt nella directory corrente, ma non quelle che esistono in sottodirectory.

Ho provato questo per il mio file .gitignore:

foo/
bar.txt

Ma purtroppo git applica il presente in modo ricorsivo, in modo che otherdir/bar.txt e otherdir/foo/ anche ottenere ignorati, che non è quello che voglio.

(Esiste un comando in git che mi mostra tutti i file ignorati, e fare riferimento il file .gitignore che è responsabile per il file che viene ignorato? Questo sarebbe utile per il debug.)

È stato utile?

Soluzione

La soluzione è quello di mettere una barra che porta sulle voci .gitignore:

/foo/
/bar.txt

(ho pensato che ho provato questo prima di pubblicare su StackOverflow, ma è chiaro che non avevo provato in modo corretto, in quanto questo funziona perfettamente.)

Altri suggerimenti

Dalla pagina di manuale gitignore:

  

Un prefisso facoltativo! che nega il modello; qualsiasi file corrispondente escluso da un modello precedente diventerà incluso di nuovo. Se un modello negata corrisponde, questo avrà la precedenza inferiori fonti modelli di precedenza.

Così !* come la prima linea nella vostra .gitignore cancellerà tutti i modelli precedenti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top