2012-04-04 15 views
104

E 'possibile git status e mostrare solo i file modificati?è possibile `git status` solo i file modificati?

Il problema è che ho troppi file di gestione temporanea che non desidero eseguire il commit o gitignore al momento e non riesco a scorrere verso l'alto. Ho un limite di scrollback impostato su Ubuntu.

+1

Come si dispone di un limite di scorrimento? Per impostazione predefinita, 'git status' invoca il cercapersone. –

+0

Il limite di scrollback mi dispiace è impostato su 512 linee sulla mia macchina. Penso che potrei cambiarlo; ma preferirebbe un comando a riga singola per visualizzare solo i file modificati nello stato perché GD/imagecache genererà ancora più file alla fine. – chrisjlee

+1

Giusto ... il mio punto è che il cercapersone non usa il scrollback del terminale. –

risposta

174

Non è possibile farlo con git status, ma è possibile utilizzare git ls-files -m per mostrare tutti i file modificati.

+37

git status -uno funziona anche. – U007D

+4

Solo così altri sanno, questo mostrerà solo i file che sono stati modificati senza essere ancora messi in scena. – Gerry

+1

Mostra file modificati e file cancellati. –

38

Sembra che git status -uno mostrerà solo i file che git sta monitorando, senza mostrare altro nella directory. Non è esattamente quello che hai chiesto, ma forse realizza la stessa cosa (ottenendo un elenco leggibile di file che contengono tracce).

+1

'git status -u no' non mostra (1) i file tracciati che sono modificati, né (2) i file tracciati che sono in scena. Ho verificato questo con git versioni 1.8.5.2 e 1.9.4. – mksios

+1

@TomNysetvold, si può effettivamente dire 'git stato -uno' (http://stackoverflow.com/questions/7008546/command-git-status-u-no-filters-tracked-files-also) – mksios

0

Io uso git cola. È un client UI semplice ed elegante che ti mostrerà i file modificati e ti fornirà uno scatto simile alle modifiche apportate.

git cola fornisce una GUI in cui è possibile visualizzare quali file sono stati modificati, quali sono stati organizzati e anche quelli che non vengono tracciati. La tua domanda era di usare solo lo stato git, credo, ma pensavo che git cola potesse essere d'aiuto quando e anche altre cose. Controllare la pagina web da ulteriori informazioni: git-cola.github.com/screenshots.html

+1

Potrebbe fornire come quello si riferisce alla mia risposta dato che non ho familiarità con questo git cola. per esempio. screenshot o più dettagli? – chrisjlee

+0

questo perché è stato downvoted? :) In ogni caso, git cola vi dà una GUI in cui è possibile visualizzare quali file è stato modificato, che messo in scena, e anche quelli non si traccia. La tua domanda era di usare solo lo stato git, credo, ma pensavo che git cola potesse essere d'aiuto quando e anche altre cose. Controllare la pagina web da ulteriori informazioni: http://git-cola.github.com/screenshots.html –

+0

Come cambiare la lingua dell'interfaccia di cola? – ziyuang

20
git status -s | awk '{if ($1 == "M") print $2}' 
+3

o 'awk '$ 1 == "M"{print $ 2}'' –

19

Per i file modificati:

git status | grep modified: 
+0

Così utile Ho creato un alias per questo: 'git config --global alias.modified' git status | grep modificato: ' ' –

0

Se si desidera elencare i modificati file si potrebbe fare questo:

git log -n1 --oneline --name-status | grep '^M'

5

git diff --name-only --diff-filter=M

+1

Vedi addnl bandiera filtro diff ..... – ZeroGraviti

+0

vi consiglio questi filtri:' git diff --cached --name solo --diff-filter = ACMR' che non Aggiunto, copiato, modificato e rinominato File. – qwertzguy

1

per elencare i file modificati utilizzano:

git ls-files -m 

Se si desidera solo il basename (nessun percorso), quindi è possibile reindirizzare ciascun risultato al basename d utilizzando xargs, riga per riga:

git ls-files -m | xargs -L 1 basename 
Problemi correlati