Me gustaría obtener una lista de solo los nombres de archivo por etapas. No puedo encontrar la bandera equivalente --name-only
para el git status
comando. ¿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--cached
para 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_file
se eliminarán,new_file
se agregarán,renamed_file
se 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
.zshrc
alias 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