1. ホーム
  2. git

[解決済み] .gitignoreで否定されたパターンはどのように機能するのですか?

2022-10-06 18:53:26

質問

.gitignore ファイルを否定パターン (行頭が !) で使用しようとしているのですが、期待したようには動作しません。

最小限の例として、私は次のようなディレクトリ構造を持っています。

C:/gittest
 -- .gitignore
 -- aaa/
   -- bbb/
     -- file.txt
   -- ccc/
     -- otherfile.txt

で、gitignoreファイルには、こう書いてあります。

aaa/
!aaa/ccc/

私の理解では、( このドキュメントページ に基づく) 私の理解では、aaa/ccc/otherfile.txt というファイルは無視されるべきではなく、実際には git は aaa 以下のすべてを無視しているのだと思います。

私はこの文章を誤解していますか: "パターンを否定するオプションのプレフィックス !

ちなみに、これは Windows で msysgit 1.7.0.2 を使用しています。

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

実際にやりたいことは、以下の通りだと思います。

aaa/*
!aaa/ccc

で見てはいけないと伝えているのです。 aaa と言っているので、パス aaa/ccc . ワイルドカードを使用した場合、まだ aaa を除いて、それぞれのエントリはワイルドカードにマッチし、無視されます。 aaa/ccc を除いて無視され、元に戻されます。