1. ホーム
  2. git

[解決済み] Git におけるホワイトリストとサブディレクトリ

2023-01-10 12:45:42

質問

テキストファイルのみを対象としたホワイトリストを作成しました。

*
!*.txt

さて、サブディレクトリにある追跡されていないテキストファイルの - sub/dir/file.txt というサブディレクトリにある追跡されていないテキストファイルがありますが、これは表示されません (無視されます)。しかし、ルート ディレクトリのテキスト ファイルは表示されます。

なぜでしょうか、また、どのように修正すればよいのでしょうか。

どのように解決するのですか?

その方法で試すと、構造内のディレクトリをブラックリスト化することになるので、失敗します。

解決策としては、ディレクトリでなく、コミットしたいファイルタイプの1つでないものすべてをブラックリスト化することです。 ディレクトリをブラックリスト化しない一方で .

この .gitignore というファイルで行います。

# First, ignore everything
*
# Now, whitelist anything that's a directory
!*/
# And all the file types you're interested in.
!*.one
!*.two
!*.etc

の3階層構造ホワイトリストでテストしてみました。 .txt ファイルが存在する場合に *.one , *.two*.three ファイルを .gitignore を使用すると、リポジトリのルートディレクトリにある ファイルを使用することができます。この場合 .gitignore ファイルを追加する必要はありません。

私が答えを導き出すために使用した情報は、とりわけ以下のものから得られました。 これ (stackoverflow.com)からです。