Notas:
También interesante (mencionado en la respuesta de qwertymk ), también puede usar el comando, al menos en Unix ( no funciona en una sesión CMD de Windows )git check-ignore -v
git check-ignore *
git check-ignore -v *
El segundo muestra la regla real .gitignore
que hace que un archivo sea ignorado en su repositorio de git.
En Unix, usando " ¿Qué se expande a todos los archivos en el directorio actual de forma recursiva? " Y un bash4 +:
git check-ignore **/*
(o un find -exec
comando)
Nota: https://stackoverflow.com/users/351947/Rafi B. sugiere en los comentarios para evitar el (arriesgado) globstar :
git check-ignore -v $(find . -type f -print)
Sin .git/
embargo, asegúrese de excluir los archivos de la subcarpeta.
Respuesta original 42009)
git ls-files -i
debería funcionar, excepto que su código fuente indica:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
Resulta que necesita un parámetro más después de la -i
lista para realmente enumerar cualquier cosa:
Tratar:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(pero eso solo enumeraría su objeto en caché (no ignorado), con un filtro, por lo que no es exactamente lo que desea)
Ejemplo:
$ 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 realidad, en mi archivo 'gitignore' (llamado 'excluir'), encuentro una línea de comando que podría ayudarlo:
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]
# *~
Entonces....
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
debería hacer el truco.
Como se menciona en la página de manual de ls-files , --others
es la parte importante para mostrarle archivos no almacenados en caché, no comprometidos y normalmente ignorados.
--exclude_standard
no es solo un atajo, sino una forma de incluir todas las configuraciones estándar de "patrones ignorados".
exclude-standard
Añadir las exclusiones estándar git: .git/info/exclude
, .gitignore
en cada directorio, y el user's global exclusion file
.