React プロジェクト用 .gitignore

Create React App、Vite、またはカスタム webpack で構築された React アプリ向けに最適化された .gitignore。ビルドフォルダ、キャッシュ、環境変数ファイルを網羅します。

Framework

詳細な説明

React プロジェクトは Node.js のパターンをほとんど引き継ぎますが、フレームワーク固有のディレクトリやビルドアーティファクトの除外が追加で必要です。適切な .gitignore はビルドツールによって異なります。

Create React App (CRA):

  • build/npm run build による本番ビルド出力。ミニファイされハッシュ化された JavaScript と CSS バンドルを含みます。完全に再現可能であり、CI でビルドすべきもので、コミットすべきではありません。
  • node_modules/ — すべての Node.js プロジェクトと同様に、依存関係はコミットしません。

Vite ベースの React プロジェクト:

  • dist/ — Vite はデフォルトで build/ ではなく dist/ に本番ビルドを出力します。
  • .vite/ — Vite の依存関係プリバンドルキャッシュディレクトリ。

共通の React パターン:

  • .env.local.env.development.local.env.production.local — API キーやフィーチャーフラグを含む環境オーバーライド。CRA と Vite はこれらを自動的にロードします。ベースの .env ファイルは通常、機密性のないデフォルト値でコミットしますが、.env.local は必ず無視してください。
  • coverage/ — Jest または Vitest のテストカバレッジ。
  • storybook-static/ — ビルド済みの Storybook ドキュメントサイト。コンポーネント開発に Storybook を使用している場合、静的出力は無視します。
  • .eslintcache — リントを高速化する ESLint キャッシュファイルですが、マシン固有です。
  • *.tsbuildinfo — TypeScript のインクリメンタルコンパイルキャッシュ。ローカルでは有用ですが、リポジトリには不要です。

モノレポの考慮事項: React アプリがモノレポ(Turborepo、Nx、Lerna)内にある場合、各パッケージに独自の dist/build/ ディレクトリがある可能性があります。**/dist/ のようなパターンを使用するか、すべてのワークスペースをカバーするルートレベルの .gitignore を追加してください。

コミットすべきもの: package-lock.jsontsconfig.json.eslintrc 設定ファイルは常にコミットしてください。チーム全体で一貫した開発環境を確保するためです。

ユースケース

Create React App から Vite に移行するフロントエンドチームが、新しい dist/ 出力ディレクトリをカバーしつつ既存の無視ルールを維持するために .gitignore を更新する必要があります。

試してみる — .gitignore Generator

フルツールを開く