Me gustaría obtener una lista de solo los nombres de archivo por etapas. No puedo encontrar la bandera equivalente --name-onlypara el git statuscomando. ¿Qué es una buena alternativa?
La lista de archivos se enviará a php -l(verificador de sintaxis PHP lint).
Solución: el comando completo
git diff --name-only --cached | xargs -l php -l
git
git-status
Ward Bekker
fuente
fuente

Respuestas:
Use
git diff --name-only(con--cachedpara obtener los archivos por etapas)fuente
La respuesta aceptada no le permitirá saber qué tipo de cambios hubo.
Sí, si no es un verificador de sintaxis, sino una persona común con un repositorio lleno de archivos sin etapas y aún desea saber qué pasará con los archivos en etapas, hay otro comando:
que conduce a algo como:
Obviamente, estos archivos se organizaron y después
git commit:deleted_filese eliminarán,new_filese agregarán,renamed_filese convertirán en archivosrenamed_to.Aquí hay una explicación de la salida de formato corto: https://git-scm.com/docs/git-status#_short_format
fuente
Inspirado por la respuesta de @ coffman21 , configuré el siguiente alias en mi
.zshrcalias gst="git status" alias gst-staged="git status --short | grep '^\w'" alias gst-unstaged="git status --short | grep '^\W'" alias gst-unstaged-tracked="git status --short | grep '^\s'" alias gst-untracked="git status --short | grep '^??'"Podría ser de utilidad para cualquier otra persona. Así que lo agregamos a la pila de respuestas.
fuente
.grep, para dar color a ambos 2 caracteres iniciales, como:grep '^\w.',grep '^\W.',grep '^\s.'para ver archivos preparados con cambios de código
o usando --cached que es sinónimo de --staged
o para ver solo nombres de archivos sin cambios de código
manual de git-diff
fuente