質問: Gitのホワイトリストとサブディレクトリ テキストファイルのみのホワイトリストを作成しました。 ``` * !*.txt ``` さて、私は、 `sub/dir/file.txt` というサブディレクトリにuntrackedテキストファイルがあり、これは表示されません(無視されます)。ただし、ルートディレクトリのテキストファイルが表示されます。 それはなぜですか、どうすれば修正できますか?
回答: そうした方法で試してみると、あなたの構造内のディレクトリをブラックリストに登録することになるので、失敗します。 解決するには、ディレクトリではないすべてのものをブラックリストに載せたいが、コミットするファイルタイプの1つではなく、**ディレクトリをブラックリストに登録しない**。 これを行う `.gitignore` ファイル: ``` # First, ignore everything * # Now, whitelist anything that's a directory !*/ # And all the file types you're interested in. !*.one !*.two !*.etc ``` `*。`、 `* .2` および`の存在下で、 `.txt` ファイルの3レベル構造のホワイトリストでこれをテストしました。リポジトリのルートディレクトリにある `.gitignore` を使用して、3つの .gitignore` ファイルを追加する必要はありません。 私が答えを見つけ出すために使った情報は、とりわけ、これです(stackoverflow.com)。