フォルダー がありapplication/
、それを に追加します.gitignore
。 -フォルダー
内にはapplication/
フォルダー がありますapplication/language/gr
。
このフォルダを含めるにはどうすればよいですか?
私はこれを試しました:
application/
!application/language/gr/
ベストアンサー1
を除外するとapplication/
、その下にあるものはすべて常に除外されます (それ以降の否定除外パターン (「unignore」) が の下にあるものと一致する場合でもapplication/
)。
希望どおりの動作を行うには、「無視解除」したいすべての親ディレクトリを「無視解除」する必要があります。通常、この状況のルールはペアで記述することになります。つまり、ディレクトリ内のすべてを無視するが、特定のサブディレクトリは無視しないというルールです。
# you can skip this first one if it is not already excluded by prior patterns
!application/
application/*
!application/language/
application/language/*
!application/language/gr/
注:
末尾は/*
重要です:
- パターンは、
dir/
という名前のディレクトリdir
と、(暗黙的に)その下にあるすべてのものを除外します。
を使用するとdir/
、Git は の下にあるものを参照することはなくdir
、したがって の下にあるものに「除外解除」パターンを適用することもありませんdir
。 - パターンはそれ自体
dir/*
については何も述べていませんdir
。 の下にあるすべてを除外するだけですdir
。 を使用するとdir/*
、Git は の直接の内容を処理しdir
、他のパターンにコンテンツの一部を「除外解除」する機会を与えます (!dir/sub/
)。