Come si fa a mostrare i file non tracciati che non esistono in .gitignore


167

Sto usando git status -uper mostrare file non tracciati. E sul terminale, vedo molti file non tracciati che ho bisogno di non essere tracciati come test unitari, documentazione personale, ecc. Li ho inseriti .gitignore, ma sembra che git statusli mostri ancora.

Come mostri solo i file non tracciati in cui non esistono .gitignore.


11
se i file non tracciati vengono visualizzati nello stato git, non vengono ignorati correttamente da .gitignore. puoi mostrarti la struttura di directory di lavoro e i contenuti .gitignore?
massimo

7
Concordo con @max, dovrebbe funzionare. Ecco un'ipotesi selvaggia: se sei su Windows, tieni presente che .gitignore, a differenza di Windows, fa distinzione tra maiuscole e minuscole. Quindi se ignori * .txt e c'è un Test.TXT sul disco, non verrà ignorato.
Joe White,

Risposte:


268

Puoi elencare esplicitamente ciò che viene monitorato e non monitorato come segue per vedere se Git sta vedendo e onorando il tuo .gitignore. Se pubblichi .gitignorecontenuti, git statusoutput e dirols possiamo aiutarti meglio.

Elenca i file ignorati

$ git ls-files . --ignored --exclude-standard --others

Elenca i file non tracciati

$ git ls-files . --exclude-standard --others

3
Se vedi file che non pensavi fossero nel tuo .gitignore, potrebbe essercene un altro nascosto nel tuo progetto. Furetto con `trova. -name .gitignore`.
jpadvo,

@ matthew-mccullough Ottima risposta! Aggiungerò alcuni alias per questi ringraziamenti! @jpadvo Puoi fare un esempio di utilizzo del findmetodo?
lacostenycoder,

Se vuoi un breve elenco, supponi di ignorare node_modules e di non voler vedere l'intero albero, --directoryquindi aggiungi solo la cartella di livello superiore che verrà ignorata verrà stampata (è più vicina allo stato git).
Henry Blyth,

2
Per chiarire, git ls-files --others --exclude-standard --ignoredelenca i file git ls-files --others --exclude-standardignorati non tracciati e quelli non tracciati non ignorati. Maggiori informazioni qui .
x-yuri,

1
Si noti che per impostazione predefinita git ls-files --othersnon elenca directory vuote. Per elencare le directory vuote aggiungere l' --directoryopzione. Questo non è ovvio dalla pagina man ma può essere dedotto. --directory: Se un'intera directory è classificata come "altra", mostra solo il suo nome (con una barra finale) e non l'intero contenuto. . --no-empty-directory: Non elencare directory vuote. Non ha alcun effetto senza --directory.
Catanman,


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.