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
.