.gitignoreの基本と使い方

Gitで管理しないファイルを指定する.gitignoreの仕組みを視覚的に表したイメージ
.gitignoreを使ってGitの管理対象から不要なファイルを除外する考え方を解説

Gitで管理しないファイルを正しく設定する方法

Gitを使った開発では、すべてのファイルをリポジトリで管理すればよいわけではありません
設定ファイルや一時ファイルなど、管理対象から除外すべきものも多く存在します。

その際に使われるのが .gitignore です。
この記事では、.gitignore の役割から基本的な書き方、実務でよく使われる設定例までを、基礎から丁寧に解説します。

.gitignoreとは何か

.gitignore は、Gitの管理対象から除外するファイルやディレクトリを指定するための設定ファイルです。

このファイルに記述されたルールに一致するものは、
git statusgit add を実行しても 追跡対象として扱われません

主に以下のような目的で使われます。

  • ローカル環境固有の設定ファイルを除外する
  • 自動生成されるファイルを管理対象から外す
  • 不要なファイルを誤ってコミットしないようにする

.gitignoreが必要な理由

.gitignore を適切に設定しないと、次のような問題が発生します。

  • 個人環境の設定ファイルがリポジトリに混入する
  • ビルド成果物やキャッシュファイルが増え、履歴が見づらくなる
  • チームや別環境で差分トラブルが起きやすくなる

Gitの基本的な仕組みとして、変更されたファイルはすべて管理対象になり得るため、
「最初から管理しないもの」を明示することが重要です。

.gitignoreの基本的な書き方

.gitignore は、リポジトリのルートディレクトリに配置するのが一般的です。
中身は1行ごとにルールを記述します。

ファイル名を指定する

.env
.DS_Store

特定のファイル名をそのまま書くと、そのファイルが除外されます。

ディレクトリを指定する

node_modules/
dist/

末尾に / を付けるとディレクトリを指定できます。

ワイルドカードを使う

*.log
*.tmp

* を使うことで、特定の拡張子をまとめて除外できます。

特定のパスを指定する

config/local/

パスを指定すると、その場所だけを対象に除外できます。

除外したファイルを例外的に管理する方法

基本的には除外したいが、一部だけ管理したい場合もあります。
その場合は !(否定)を使います。

*.log
!important.log

この例では、.log ファイル全体は除外しつつ、
important.log だけは管理対象になります。

すでに追跡されているファイルは除外できない点に注意

.gitignore は、未追跡のファイルにのみ有効です。
すでに git addgit commit されたファイルは、.gitignore に書いても無視されません。

その場合は、Gitの管理から外す必要があります。

git rm --cached ファイル名

Gitの変更状態の確認方法については、
Gitの変更状態を確認する方法まとめの記事で詳しく解説しています。

よく使われる.gitignoreの例

Web制作・フロントエンド開発

node_modules/
dist/
.cache/
.env

macOS環境

.DS_Store

エディタ・IDE関連

.vscode/
.idea/

.gitignoreの管理で意識すべきポイント

  • プロジェクト開始時に必ず設定する
  • 個人依存・自動生成・再現可能なものは管理しない
  • 迷った場合は「他の環境で再生成できるか」を基準に判断する

Gitの基本概念や管理対象の考え方については、
**「Gitの基本と仕組みを理解する」**の記事とあわせて読むと理解が深まります。

まとめ

.gitignore は、Git運用の品質を大きく左右する重要な設定ファイルです。

  • 管理すべきでないファイルを明示できる
  • リポジトリを整理された状態に保てる
  • チームや複数環境でのトラブルを防げる

Gitを使い始めた段階で正しく理解しておくことで、
後から修正に追われるリスクを減らすことができます。

関連記事