Me gustaría ver una lista de archivos modificados desde la última confirmación, como se git status
muestra, 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 status
toma las mismas opcionesgit commit
es que el propósitogit status
es mostrar lo que sucedería si se comprometiera con las mismas opciones a las que pasógit status
. A este respectogit status
es 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 -o
muestra los archivos en directorios sin clasificar de forma recursiva, mientras quegit status
solo muestra el directorio de nivel superior. Y uno tendría que componergit diff
,git ls-files
generar y recrear toda la codificación de colores, etc. quegit status
proporciona 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;
Y llamar a ese guión simple:
gitstat /path/to/foo-project
. También puede usarlo mientrasfoo-project
lo hacegitstat .
y, por lo tanto, suponga que es más corto quegit status -s
,git diff --stat
ogit diff --stat HEAD
si siempre está usando la consola en lugar de la gui.Créditos
fuente