¿Es posible git status
y mostrar solo archivos modificados?
El problema es que tengo demasiados archivos organizados que no quiero comprometer o ignorar en este momento y no puedo desplazarme hacia arriba. Tengo un límite de desplazamiento establecido en Ubuntu.
git status
invocará el buscapersonas.--short
o--porcelain
para obtener versiones de una línea del estado.git ls-files -m
: ¿qué modificaciones le interesan, por etapas, por etapas o ambas?Respuestas:
No puede hacer esto con
git status
, pero podría usargit ls-files -m
para mostrar todos los archivos modificados.fuente
git status | grep modified
lo que indica user23186 en su respuesta.git ls-files -m
no muestra nada perogit status | grep modified
está funcionando.git diff --name-only --diff-filter=M HEAD
mostraría solo los archivos modificados, tanto para etapas como para etapas, aunque debe verificar los documentos--diff-filter
para ver qué otros tipos de filtros puede agregar.Parece
git status -uno
que solo le mostrará los archivos que git está rastreando, sin mostrar nada más en el directorio. No es exactamente lo que solicitó, pero tal vez logre lo mismo (obtener una lista legible de archivos que rastrea git).fuente
git status -u no
no muestra (1) archivos rastreados que se modifican, ni (2) archivos rastreados que están organizados. He verificado esto con las versiones de git 1.8.5.2 y 1.9.4.git status -uno
( stackoverflow.com/questions/7008546/… )fuente
awk '$1 == "M" { print $2 }'
Para archivos modificados:
fuente
git config --global alias.modified '!git status | grep modified:'
git diff --name-only --diff-filter=M
fuente
git diff --cached --name-only --diff-filter=ACMR
que incluye archivos agregados, copiados, modificados y renombrados.git diff --name-only
también funcionafuente
Estaba buscando la misma información y encontré lo siguiente que da archivos modificados:
fuente
git status -uno --porcelain
agrega una buena salida para el script de análisisPuedes usar
para enumerar solo los archivos modificados.
fuente
Si bien esto puede no responder directamente a la pregunta de enumerar solo los archivos modificados, puede ayudar a limitar la cantidad de archivos que se enumeran.
Puede pasar una ruta a
git status
para limitar la salida a una carpeta específica en el repositorio.Por ejemplo:
fuente
Para enumerar los archivos modificados, use:
Si solo desea el nombre basename (sin ruta), puede canalizar cada resultado al comando basename usando xargs, línea por línea:
fuente
Yo uso este comando:
Y la salida se ve así:
fuente
Yo uso
git cola
. Es un cliente de interfaz de usuario simple y elegante que le mostrará los archivos modificados y le proporcionará una imagen diferencial de los cambios que realizó.git cola
le proporciona una GUI donde puede visualizar qué archivos modificó, cuáles organizó e incluso aquellos que no rastrea. Su pregunta era usar el estado de git solo creo, pero pensé que git cola puede ayudar cuando eso y otras cosas también. Consulte esta página web desde más información: git-cola.github.com/screenshots.htmlfuente
Si desea enumerar los archivos modificados , puede hacer esto:
git log -n1 --oneline --name-status | grep '^M'
fuente
Para enumerar todos los archivos modificados use:
fuente
Todas excelentes respuestas; solo FEI, "git checkout" (cambio ao en la misma rama) parece mostrar solo archivos modificados.
fuente
OS: ventanas
El siguiente comando mostrará todas las líneas que contienen "modificado:" , "renombrado:" o "nuevo archivo:"
Si desea un tipo de archivo especificado: (por ejemplo
*.py
*.ini
)Si crees que es demasiado problema escribir tanto:
crear un archivo por lotes (por ejemplo:
st.bat
)escribir contenidos de la siguiente manera:
agregue la ruta del entorno que contiene su archivo por lotes. (
st.bat
)uso
(nota: si escribe> 1, entonces debe agregar el punto y coma)
OS: LINUX
como @Lance dice que puedes probar
git status | grep modified:
fuente