Me gustaría ver una lista de archivos modificados desde la última confirmación, como se git statusmuestra, pero solo me interesan los archivos ubicados en un solo directorio. ¿Hay alguna forma de hacer esto? Lo intenté git status <directory>, pero parece que esto hace algo completamente diferente (enumera todos los archivos modificados, como lo harían si escribiera git add <directory>primero).
La documentación para git-status no dice mucho, aparte del hecho de que acepta las mismas opciones que git-commit (pero el propósito de git-commit no es mostrar listas de archivos modificados).

La razón por la que
git statustoma las mismas opcionesgit commites que el propósitogit statuses mostrar lo que sucedería si se comprometiera con las mismas opciones a las que pasógit status. A este respectogit statuses realmentegit commit --preview.Para obtener lo que desea, puede hacer esto que muestra los cambios por etapas:
y esto, que muestra cambios no organizados:
o esto que muestra ambos:
fuente
git ls-files --others <directory_in_question>ols-files -o.git ls-files -omuestra los archivos en directorios sin clasificar de forma recursiva, mientras quegit statussolo muestra el directorio de nivel superior. Y uno tendría que componergit diff,git ls-filesgenerar y recrear toda la codificación de colores, etc. quegit statusproporciona si se va a reemplazargit status. ¡También me gustaría ver una solución a esto!La solución más simple:
git status | grep -v '\.\.\/'Por supuesto, esto descarta los colores.
fuente
Como nota, si simplifica para verificar las estadísticas de git sin ir al directorio de git;
### crea un archivo sudo nano / usr / local / bin / gitstat ### poner esto en #! / usr / bin / env bash dir = $ 1 si [[$ dir == ""]]; luego echo "¡Se requiere directorio!" salida fi echo "Estadísticas de Git para '$ dir'". git --git-dir = $ dir / .git --work-tree = $ dir diff --stat ### dar perm ejecutiva sudo chmod + x / usr / local / bin / gitstatY llamar a ese guión simple:
gitstat /path/to/foo-project. También puede usarlo mientrasfoo-projectlo hacegitstat .y, por lo tanto, suponga que es más corto quegit status -s,git diff --statogit diff --stat HEADsi siempre está usando la consola en lugar de la gui.Créditos
fuente