1. ホーム
  2. git

[解決済み] Git でディレクトリ内のファイルを無視するには?

2022-03-18 05:47:50

質問

の適切な構文は何ですか? .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/*

?

解決方法は?

パターン・フォーマット

  • 空白行はどのファイルにもマッチしないので、読みやすさのためのセパレータとして機能することができます。

  • で始まる行は # がコメントとして機能します。

  • オプションのプレフィックス ! これはパターンを否定します。以前のパターンによって除外されたマッチするファイルは、再び含まれるようになります。否定されたパターンがマッチした場合、これはより低い優先順位のパターンソースをオーバーライドします。

  • パターンの末尾にスラッシュがある場合、以下の説明のために削除されますが、それはディレクトリとのマッチを見つけるだけでしょう。つまり、以下のようになります。 foo/ はディレクトリにマッチします foo とその下のパスにはマッチしませんが、通常のファイルやシンボリックリンクの foo (これは、git における pathspec の一般的な動作と一致しています)。

  • パターンにスラッシュが含まれていない場合 / の位置からの相対パス名とのマッチをチェックします。 .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