Remarques:
Également intéressant (mentionné dans la réponse de qwertymk ), vous pouvez également utiliser la commande, au moins sur Unix ( ne fonctionne pas dans une session Windows CMD )git check-ignore -v
git check-ignore *
git check-ignore -v *
Le second affiche la règle réelle du .gitignore
qui fait qu'un fichier doit être ignoré dans votre dépôt git.
Sous Unix, en utilisant " Qu'est-ce qui s'étend à tous les fichiers du répertoire courant de manière récursive? " Et un bash4 +:
git check-ignore **/*
(ou une find -exec
commande)
Remarque: https://stackoverflow.com/users/351947/Rafi B. suggère dans les commentaires d' éviter la globstar (risquée) :
git check-ignore -v $(find . -type f -print)
Assurez-vous cependant d'exclure les fichiers du .git/
sous - dossier.
Réponse originale 42009)
git ls-files -i
devrait fonctionner, sauf que son code source indique:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
Il s'avère qu'il a besoin d'un paramètre supplémentaire après le -i
pour répertorier quoi que ce soit:
Essayer:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(mais cela ne listerait que votre objet mis en cache (non ignoré), avec un filtre, donc ce n'est pas tout à fait ce que vous voulez)
Exemple:
$ cat .git/ignore
# ignore objects and archives, anywhere in the tree.
*.[oa]
$ cat Documentation/.gitignore
# ignore generated html files,
*.html
# except foo.html which is maintained by hand
!foo.html
$ git ls-files --ignored \
--exclude='Documentation/*.[0-9]' \
--exclude-from=.git/ignore \
--exclude-per-directory=.gitignore
En fait, dans mon fichier 'gitignore' (appelé 'exclude'), je trouve une ligne de commande qui pourrait vous aider:
F:\prog\git\test\.git\info>type exclude
# git ls-files --others --exclude-from=.git/info/exclude
# Lines that start with '#' are comments.
# For a project mostly in C, the following would be a good set of
# exclude patterns (uncomment them if you want to use them):
# *.[oa]
# *~
Donc....
git ls-files --others --ignored --exclude-from=.git/info/exclude
git ls-files -o -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
devrait faire l'affaire.
Comme mentionné dans la page de manuel ls-files , --others
est la partie importante, afin de vous montrer les fichiers non mis en cache, non validés, normalement ignorés.
--exclude_standard
n'est pas seulement un raccourci, mais un moyen d'inclure tous les paramètres standard de "motifs ignorés".
exclude-standard
Ajoutez les exclusions git standard: .git/info/exclude
, .gitignore
dans chaque répertoire, et user's global exclusion file
.
git clean
astuce) comme démontré ici . Aussi, je déconseille l'exemple "exclure de" dans votre résumé car cela ne fait en fait pas attention aux fichiers .gitignore. Je pose cette question surtout parce que cette page est la meilleure réponse de Google.git config --global alias.ls ls-files --exclude-standard
, et cela fait la réponse à cette questiongit ls -i
.