.gitignore
ディレクトリ内のファイルを無視するためのファイルの適切な構文は何ですか?
それは
config/databases.yml
cache/*
log/*
data/sql/*
lib/filter/base/*
lib/form/base/*
lib/model/map/*
lib/model/om/*
または
/config/databases.yml
/cache/*
/log/*
/data/sql/*
/lib/filter/base/*
/lib/form/base/*
/lib/model/map/*
/lib/model/om/*
?
ベストアンサー1
パターンフォーマット
空白行はどのファイルにも一致しないため、読みやすくするための区切りとして機能します。
で始まる行は
#
コメントとして機能します。パターンを否定するオプションのプレフィックス
!
。以前のパターンで除外された一致するファイルは、再び含まれるようになります。否定されたパターンが一致する場合、これは優先順位の低いパターン ソースを上書きします。パターンがスラッシュで終わる場合、以降の説明のためにスラッシュは削除されますが、ディレクトリとの一致のみが検索されます。つまり、
foo/
ディレクトリfoo
とその下のパスには一致しますが、通常のファイルやシンボリック リンクには一致しませんfoo
(これは、git での pathspec の一般的な動作と一致しています)。パターンにスラッシュが含まれていない場合
/
、git はそれをシェル glob パターンとして扱い、ファイルの場所を基準としたパス名.gitignore
(ファイルからでない場合は作業ツリーの最上位を基準としたパス名.gitignore
) との一致をチェックします。それ以外の場合、git はパターンを、
fnmatch(3)
フラグ付きでの使用に適したシェル グロブとして扱いますFNM_PATHNAME
。パターン内のワイルドカードは、パス名の とは一致しません/
。たとえば、Documentation/*.html
は一致しますが、や とDocumentation/git.html
は一致しません。Documentation/ppc/ppc.html
tools/perf/Documentation/perf.html
先頭のスラッシュはパス名の先頭と一致します。たとえば、
/*.c
は一致しますcat-file.c
が、 には一致しませんmozilla-sha1/sha1.c
。
詳細はこちら
git help gitignore
または
man gitignore