2013-11-27 17 views
5

L'utilizzo di git list-files mi fornisce le directory e i file tracciati all'interno. Esiste un comando come:Come posso fare in modo che git list solo le directory tracciate in una cartella?

git list-directories 

o qualcosa di simile che elenca solo i nomi di directory non ricorsive non vuoti rintracciati?

+2

Probabilmente no. Git tiene traccia dei file, non delle directory. Potresti riuscire comunque a ricavare le informazioni dal comando 'list-files' e definire un alias git che fa quello che vuoi. – Ajedi32

+0

@ Ajedi32 Grazie, quindi lo farò. – tmaric

+0

Freddo. Una volta capito, assicurati di inviare una risposta qui per il beneficio di chiunque altro possa avere la stessa domanda in futuro. – Ajedi32

risposta

7

penso che questo vi darà ciò che si vuole:

git ls-files | xargs -n 1 dirname | uniq

Quindi, prendere l'uscita di git ls-files e tubo che in dirname, quindi uniq i risultati. Questo sembra funzionare localmente per me.

+0

Farei un sed, '... | sed s,/[^ /] * $ ,, | uniq', evitare' xargs -n 1' mi sembra una buona regola. – jthill

+1

@CDub: questo fornisce anche le sottodirectory. Comunque utile comunque. – tmaric

+1

Perché non vuoi sottodirectory? – CDub

Problemi correlati