Elenco Git dei file di staging


112

Ho messo in scena molti file usando git add, ora voglio vedere tutti i file che ho messo in scena, senza file non tracciati o file modificati ma non archiviati.

Come lo faccio? Quando lo uso git diff --cachedposso vedere i cambiamenti di ciò che ho appena messo in scena. Quindi ho provato a usare git status --cachedma --cachedsfortunatamente non funziona git status.


4
la semplice digitazione git statusfornisce un elenco di file gestiti, un elenco di file modificati ma non archiviati e un elenco di file non tracciati.
houtanb


@houtanb, git statusti mostra un diff. (Non mostra tutti i file messi in scena).
Pacerier

Risposte:


199

Il modo migliore per farlo è eseguire il comando:

git diff --name-only --cached

Quando controlli il manuale, probabilmente troverai quanto segue:

--name-only
    Show only names of changed files.

E nella parte di esempio del manuale:

git diff --cached
    Changes between the index and your last commit.

Combinati insieme ottieni il changes between the index and your last commiteShow only names of changed files.

Aggiornamento: --stagedè disponibile anche come alias per --cachedsopra nelle versioni più recenti di git.


13
Questo è davvero utile perché ti permette di ottenere un elenco di nomi di file che puoi poi (nel mio caso) reindirizzare a un linter in un hook pre-commit.
tricheco

5
Se aggiungi file con git add -N [files], questo include anche quelli, anche se non sono ancora stati messi a punto per il commit. In quanto tale, non è esattamente quello che vogliamo per un hook pre-commit.
Pistos

re " ultimo commit "; Ingannevole. Meglio dire che git diff --cachedè l'abbreviazione digit diff --cached head
Pacerier
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.