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.


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.


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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.