Notas:
Também interessante (mencionado no qwertymk de resposta ), você também pode usar o git check-ignore -v
comando, pelo menos no Unix ( não funciona em um CMD do Windows sessão)
git check-ignore *
git check-ignore -v *
O segundo exibe a regra real da .gitignore
qual faz com que um arquivo seja ignorado no seu repositório git.
No Unix, usando " O que se expande para todos os arquivos no diretório atual recursivamente? " E um bash4 +:
git check-ignore **/*
(ou um find -exec
comando)
Nota: https://stackoverflow.com/users/351947/Rafi B. sugere nos comentários para evitar a globstar (arriscada) :
git check-ignore -v $(find . -type f -print)
Certifique-se de excluir os arquivos da .git/
subpasta.
Resposta original 42009)
git ls-files -i
deve funcionar, exceto que seu código fonte indica:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
Acontece que ele precisa de mais um parâmetro após o -i
para realmente listar qualquer coisa:
Tentar:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(mas isso listaria apenas o objeto em cache (não ignorado), com um filtro, para que não seja exatamente o que você deseja)
Exemplo:
$ 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
Na verdade, no meu arquivo 'gitignore' (chamado 'excluir'), encontro uma linha de comando que pode ajudá-lo:
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]
# *~
Assim....
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
deve fazer o truque.
Conforme mencionado na página do manual ls-files , --others
é a parte importante, para mostrar arquivos não armazenados em cache, não confirmados e normalmente ignorados.
--exclude_standard
não é apenas um atalho, mas uma maneira de incluir todas as configurações padrão de "padrões ignorados".
exclude-standard
Adicione as exclusões git padrão: .git/info/exclude
, .gitignore
em cada diretório, e a user's global exclusion file
.