web-dev-qa-db-ja.com

gitは、特定のサブフォルダー内のファイルを除く、特定のタイプのすべてのファイルを無視します

私はこのようなディレクトリ構造を持っています:

  • ルート
    • folder1
      • abc.json
      • def.json
      • somedir
        • more.json
    • folder2
      • qwe.json
      • rty.json
    • 仕様
      • mock1.json
      • mock2.json
      • somedir
        • more_mocks.json

.gitignoreを使用して、spec内のファイルを除くすべての*.jsonファイルを無視します。 .gitignorefolder1folder2を使いたくない適切な.gitignoreファイルを移動します。

さらに、jsonファイルを含むネストされたディレクトリがさらに存在する場合があり、このルールはすべてのサブディレクトリにも適用する必要があります。

それでは、特定のサブディレクトリを除いて、タイプのすべてのファイルを無視するにはどうすればよいですか?

168
Alex Wayne

パターンを無効にするオプションのプレフィックス!。以前のパターンで除外された一致するファイルは再び含まれます。否定されたパターンが一致する場合、これは優先順位の低いパターンのソースをオーバーライドします。

http://schacon.github.com/git/gitignore.html

*.json
!spec/*.json
263
Amber