ノート:
また興味深い(qwertymkの回答git check-ignore -v
で言及)、少なくともUnixではコマンドを使用することもできます( CMD Windowsセッションでは機能しません)
git check-ignore *
git check-ignore -v *
.gitignore
2 つ目は、git リポジトリでファイルを無視する実際のルールを表示します。
Unix では、「現在のディレクトリ内のすべてのファイルに再帰的に展開されるものは何ですか?」と bash4+ を使用します。
git check-ignore **/*
(またはfind -exec
コマンド)
注: https://stackoverflow.com/users/351947/Rafi B.は、コメントで (危険な) globstarを回避することを提案しています。
git check-ignore -v $(find . -type f -print)
.git/
ただし、サブフォルダーからファイルを必ず除外してください。
CervEdは、コメントで次のことを回避することを提案してい.git/
ます。
find . -not -path './.git/*' | git check-ignore --stdin
元の回答 42009)
git ls-files -i
そのソースコードが示すことを除いて、動作するはずです:
if (show_ignored && !exc_given) {
fprintf(stderr, "%s: --ignored needs some exclude pattern\n",
argv[0]);
exc_given
?
-i
実際に何かをリストするには、 の後にもう 1 つのパラメーターが必要であることがわかりました。
試す:
git ls-files -i --exclude-from=[Path_To_Your_Global].gitignore
(しかし、それはフィルターを使用してキャッシュされた(無視されていない)オブジェクトのみをリストするため、それはあなたが望むものではありません)
例:
$ 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
実際、私の 'gitignore' ファイル ('exclude' と呼ばれます) には、次のようなコマンド ラインがあります。
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]
# *~
そう....
git ls-files --ignored --exclude-from=.git/info/exclude
git ls-files -i --exclude-from=.git/info/exclude
git ls-files --others --ignored --exclude-standard
git ls-files -o -i --exclude-standard
トリックを行う必要があります。
(キャッシュされたファイルが含まれていないことをコメントで指摘してくれたhonzajdeに感謝します: ( without ) のみが含まれます。)git ls-files -o -i --exclude-from...
git ls-files -i --exclude-from...
-o
ls-files のマニュアル ページに記載されているように、--others
キャッシュされておらず、コミットされておらず、通常は無視されるファイルを表示するために重要な部分です。
--exclude_standard
単なるショートカットではなく、すべての標準の「無視されるパターン」設定を含める方法です。
exclude-standard
標準の git 除外を追加します: .git/info/exclude
、.gitignore
各ディレクトリ、およびuser's global exclusion file
.