Come faccio a fare uno 'stato git' in modo che non visualizzi i file non tracciati senza usare .gitignore?


317

Come faccio a fare in git statusmodo che non visualizzi i file non monitorati senza l'utilizzo .gitignore? Voglio ottenere informazioni sullo stato delle modifiche solo sui file monitorati.

Risposte:


498

Usa questo:

git status -uno

che equivale a:

git status --untracked-files=no

È un po 'nascosto nei manuali, ma la manpage per lo stato dice "supporta le stesse opzioni di git-commit", quindi è lì che dovresti cercare.


1
Dove scrivi questo? Nel terminale o nel file?
FrenkyB,

1
Questa è un'operazione da riga di comando; non è una modifica del file di configurazione git.
Ross Rogers,

E se lo avessi fatto, git reset --hard <commit id>, quindi ottengo lo stato -uno, non viene visualizzato nulla, vengono visualizzati solo i file non monitorati
Snow Bases,

130

Anche:

git config status.showuntrackedfiles no

9
Questo è ottimo per un repository che ha sempre file non tracciati come uno nella directory home per file dot.
Dave,

15
Dave, forse la .gitignorelista è la migliore per "sconosciuti noti", mentre potresti voler vedere "sconosciuti sconosciuti" che compaiono di nuovo.
Ross Rogers,

15

Nota che, da git 1.8.3 (22 aprile 2013) , saprai --untracked-files=noanche se non hai aggiunto questa opzione in primo luogo!

" git status" suggerisce agli utenti di utilizzare l' --untracked-files=noopzione quando impiega troppo tempo.

Vedi commit https://github.com/git/git/commit/5823eb2b28696bf0eb25f6ca35b303447869f85 :

In alcuni repository gli utenti sperimentano che il git statuscomando " " richiede molto tempo.
Il comando impiega un po 'di tempo alla ricerca di file non tracciati nel file system.

Spiegare il compromesso raggiunto dalla scelta predefinita di normalaiutare gli utenti a fare meglio una scelta appropriata, prima di parlare della variabile di configurazione.

La git statusdocumentazione ora afferma:

Quando l' -uopzione non viene utilizzata, vengono visualizzati i file e le directory non tracciati (ovvero gli stessi specificati normal), per evitare di dimenticare di aggiungere nuovi file creati.
Poiché è necessario ulteriore lavoro per trovare file non tracciati nel filesystem, questa modalità potrebbe richiedere del tempo in un grande albero di lavoro.
È possibile utilizzare noper git statustornare più rapidamente senza mostrare file non tracciati
.

L'impostazione predefinita può essere modificata utilizzando la status.showUntrackedFilesvariabile di configurazione documentata in git config.


2
@Tshepang grazie. Ho modificato la risposta per includere il collegamento corretto, nonché per aggiungere il commit esatto in cui è stata introdotta la modifica.
VonC,

Sono nuovo di Git - puoi dirmi dove scrivere questi comandi per non mostrare i file non tracciati? Ho provato a scriverli nel terminale, ma i file non tracciati continuano a essere visualizzati.
FrenkyB,

@FrenkyB Che cosa hai digitato esattamente nel tuo terminale (quale sistema operativo a proposito? E quale versione git stai usando?)
VonC

Sistema operativo = Windows 10 Pro, versione dell'albero dei sorgenti = 1.9.10.0, come posso verificare la versione GIT? Quello che ho digitato nel terminale è: git commit -u --untracked-files = no. Vedo ancora quei file nell'albero dei sorgenti.
FrenkyB,
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.