.gitignore
別名: gitignore / 無視ファイル
Git に追跡させたくないファイルのパターンを書くファイル。
ビルド成果物や依存フォルダ、手元専用の設定ファイルを誤ってコミットしないために使うが、既に追跡されているファイルには効かない。
公開:
定義
.gitignore は、Git に追跡させたくないファイルやディレクトリのパターンを 1 行に 1 つずつ書くファイルである。
一致したファイルは、まだ追跡されていなければ git status の未追跡一覧に出なくなり、git add . でもステージされない。
ビルド成果物や node_modules、.env のような手元専用のファイルを誤ってコミットしないために使う。
詳細
パターンの先頭か途中に / を含む場合は .gitignore を置いたディレクトリからの相対パスとして扱われ、含まない場合はそれより下のどの階層の名前にも一致する。
末尾の / はディレクトリだけに一致し、先頭の ! は前の行で除外したものを再び含める。
ただし親ディレクトリごと除外されたファイルは ! で戻せない。
リポジトリで共有しない個人用の除外は .git/info/exclude か、core.excludesFile で指定したファイルに書く。
よくある誤解
- 追加すればリポジトリから消える: 消えない。
既に追跡しているファイルには効かないので、git rm --cached <ファイル>で追跡を外してからコミットする。
作業ツリーのファイル自体は残る。 - 履歴に入った秘密情報も隠せる: 隠せない。
過去のコミットに含まれた内容はそのまま残る。
関連
書いたのに無視されない場合の切り分けは Git で .gitignore に書いたファイルが無視できない にまとめている。
パターンの記法は glob と共通する部分が多い。