J'aimerais voir une liste de fichiers modifiés depuis le dernier commit, comme le montre git status
, Mais je me soucie uniquement des fichiers situés dans un seul répertoire. Y a-t-il un moyen de faire cela? J'ai essayé git status <directory>
, Mais il semble que cela fasse quelque chose de complètement différent (liste tous les fichiers modifiés, comme ce serait le cas si j'écrivais git add <directory>
En premier).
La documentation de git-status ne dit pas grand-chose, mis à part le fait qu'elle accepte les mêmes options que git-commit (mais l'objectif de git-commit n'est pas d'afficher des listes de fichiers modifiés).
Dans l'annuaire:
git status .
Vous pouvez vraiment utiliser n'importe quel chemin, utilisez cette syntaxe:
git status <directoryPath>
Par exemple pour le répertoire avec le chemin "mon/cool/chemin/ici"
git status my/cool/path/here
La raison pour laquelle git status
prend les mêmes options que git commit
est-ce que le but de git status
est de montrer ce qui se passerait si vous commettiez avec les mêmes options que vous avez passées à git status
. À cet égard git status
est vraiment git commit --preview
.
Pour obtenir ce que vous voulez, vous pouvez faire ceci en montrant les changements mis en scène:
git diff --stat --cached -- <directory_of_interest>
et ceci, qui montre les changements non mis en scène:
git diff --stat -- <directory_of_interest>
ou ce qui montre à la fois:
git diff --stat HEAD -- <directory_of_interest>
La solution la plus simple:
git status | grep -v '\.\.\/'
Bien sûr, cela supprime les couleurs.
En guise de remarque, si vous simplifiez la tâche pour vérifier les statistiques git sans accéder à son répertoire,
### créer un fichier Sudo nano /usr/local/bin/gitstat[.____. Printer... ] #!/usr/bin/env bash dir = $ 1 if [[$ dir == ""]]; then echo "Répertoire requis!" exit fi echo "Git stat for '$ dir'." git --git-dir = $ dir/.git --work-tree = $ dir diff --stat ### donner exec perm Sudo chmod + x /usr/local/bin/gitstat
Et en appelant ce simple script: gitstat /path/to/foo-project
. Vous pouvez également l'utiliser en foo-project
je fais juste gitstat .
et donc supposons plus court que git status -s
, git diff --stat
ou git diff --stat HEAD
_ si vous utilisez toujours la console au lieu de l'interface graphique.
Crédits: