リポジトリで管理したくないファイル(or ディレクトリ) は.gitignore に定義することで git add 実行時にインデックスに追加されなくなる。
| 指定 | 除外対象 |
|---|---|
foo.txt |
配下のサブディレクトリのどこかにある foo.txt ファイル(or ディレクトリ) |
/foo.txt |
現在のディレクトリにある foo.txt ファイル(or ディレクトリ) |
foo/ |
配下のサブディレクトリのどこかにある foo ディレクトリ |
/foo/ |
現在のディレクトリにある foo ディレクトリ(とその配下) |
/foo/bar |
現在のディレクトリにある foo の中の bar ファイル(orディレクトリ) |
*.txt |
配下のサブディレクトリのどこかにある拡張子 txt のファイル |
!foo.txt |
*.txt が除外されていた場合、foo.txt を除外しない |
/foo/* |
現在のディレクトリにある foo ディレクトリ配下(!/boo/bar.txt と合わせることで boo/bar.txt だけは含めることができる。/foo/ と指定した場合はディレクトリ自体が無視されるため boo/bar.txt も除外される) |
foo.tx? |
配下のサブディレクトリのどこかにある拡張子が tx で始まるファイル(1文字のワイルドカード) |
/foo/**/bar/ |
現在のディレクトリにある foo ディレクトリ配下の任意階層の bar ディレクトリ(Git 1.8.2以降) |
/foo[1-9].txt |
現在のディレクトリにある foo1.txt から foo9.txt ファイル(or ディレクトリ) |
/foo\!.txt |
現在のディレクトリにある foo!.txt ファイル(\でエスケープ) |
- 先頭を
/で始めると.gitignoreのあるディレクトリからの相対パス - 末尾が
/の場合はディレクトリとして解釈される - コメント行は
#で始める - ディレクトリ階層毎に複数配置可能で、階層の深いものが後から解釈される
git addした後で.gitignoreに追加しても自動で消えはしない(git rm --cached <FILE>で消す)