.gitignore
に何かを追加して、一致が再帰的でないようにする方法を教えてください。
たとえば、現在のディレクトリにあるディレクトリfoo
とファイルbar.txt
は無視しますが、サブディレクトリには存在しません。
私は.gitignore
ファイルに対してこれを試しました:
foo/
bar.txt
しかし、残念ながらgitはこれを再帰的に適用するため、otherdir/bar.txt
とotherdir/foo/
も無視されてしまいます。これは私が望んでいることではありません。
(gitにすべての無視されたファイルを表示し、無視されているファイルの原因である.gitignore
ファイルを参照するコマンドがありますか?これはデバッグに役立ちます。)
解決策は、.gitignore
エントリにスラッシュを付けることです。
/foo/
/bar.txt
(私はStackOverflowに投稿する前にこれを試したと思いましたが、これは完全に機能するため、適切に試していないことは明らかです。)
Gitignoreマンページから:
オプションの接頭辞!これはパターンを無効にします。以前のパターンによって除外された一致するファイルは、再び含まれます。否定されたパターンが一致する場合、これは優先順位の低いパターンソースをオーバーライドします。
そう !*
.gitignoreの最初の行として、以前のすべてのパターンをクリアします。