できない.dev

.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 と共通する部分が多い。

この記事は役立ちましたか?