リポジトリで管理したくないファイル(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>
で消す)