Lista de Git de archivos preparados

112

He preparado muchos archivos usando git add, ahora quiero ver todos los archivos que he preparado, sin archivos sin seguimiento o archivos modificados pero sin preparar .

¿Cómo puedo hacer eso? Cuando lo uso git diff --cached, puedo ver los cambios de lo que acabo de montar. Entonces intenté usar, git status --cachedpero --cacheddesafortunadamente no funciona git status.

Timón de Groot
fuente
4
simplemente escribir git statusle da una lista de archivos almacenados, una lista de archivos modificados pero no procesados ​​y una lista de archivos sin seguimiento.
houtanb
@houtanb, git statuste muestra una diferencia. (No muestra todos los archivos preparados).
Pacerier

Respuestas:

199

La mejor manera de hacerlo es ejecutando el comando:

git diff --name-only --cached

Cuando consulte el manual, probablemente encontrará lo siguiente:

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

Y en la parte de ejemplo del manual:

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

Combinados, obtienes el changes between the index and your last commityShow only names of changed files.

Actualización: --stagedtambién está disponible como un alias para --cachedarriba en versiones de git más recientes.

Timón de Groot
fuente
13
Esto es realmente útil porque le permite obtener una lista de nombres de archivo que luego (en mi caso) puede canalizar a un linter en un gancho de confirmación previa.
morsa
5
Si agrega archivos con git add -N [files], esto también los incluye, aunque todavía no están preparados para su confirmación. Como tal, no es exactamente lo que queremos para un gancho de confirmación previa.
Pistos
re " última confirmación "; Engañoso. Mejor decir que git diff --cachedes la abreviatura degit diff --cached head
Pacerier