Next.js プロジェクト用 .gitignore

Next.js アプリケーション向けの完全な .gitignore。.next ビルドキャッシュ、out/ 静的エクスポート、Vercel デプロイファイル、環境変数の扱いを網羅します。

Framework

詳細な説明

Next.js はサーバーサイドとクライアントサイドのバンドル、API ルートハンドラー、静的アセットを生成する独自のビルドシステムを持っています。大規模なマシン固有のビルドキャッシュのコミットを避けるために、適切に設定された .gitignore が不可欠です。

Next.js 固有のパターン:

  • .next/ — 主要なビルド出力ディレクトリ。コンパイル済みページ、webpack チャンク、サーバーバンドル、ビルドマニフェストを含みます。大規模アプリケーションでは 500MB を超えることもあります。すべての開発者が npm run devnpm run build で再生成します。
  • out/next export または output: 'export' 設定で作成される静的 HTML エクスポートディレクトリ。デプロイアーティファクトであり、ソースコードではありません。
  • .vercel/ — Vercel CLI の設定とプロジェクトリンクメタデータ。vercel link で生成され、プロジェクト固有の識別子を含みます。
  • next-env.d.ts — 自動生成される TypeScript 宣言ファイル。Next.js が自動的に再作成しますが、公式の推奨は TypeScript が Next.js の型を理解できるようにこのファイルをコミットすることです。

環境ファイル:

Next.js は特定の順序で複数のファイルから環境変数を読み込みます。推奨される無視パターンは:

  • 無視する: .env.local.env.development.local.env.production.local
  • コミットする: .env(機密性のないデフォルト値)、.env.development.env.production(公開値のみの場合)

キャッシュとパフォーマンス:

  • .swc/ — Next.js が高速な Rust ベースのコンパイルに使用する SWC コンパイラキャッシュディレクトリ。
  • *.tsbuildinfo — TypeScript のインクリメンタルビルド情報ファイル。

デプロイに関する注意: Vercel にデプロイする場合、.next/ ディレクトリは Vercel のサーバーでビルドされます。セルフホスティングの場合は CI パイプラインがビルドします。いずれの場合も、ビルド出力は git に含めるべきではありません。

よくある間違い: public/ を無視すること — このディレクトリは無視しないでください。画像、フォント、robots.txt などの静的アセットを含み、ソースコードの一部としてバージョン管理が必要です。

ユースケース

Vercel に Next.js アプリをデプロイするチームが、.next ビルドキャッシュ、環境シークレット、Vercel プロジェクトメタデータを GitHub リポジトリから除外する必要があります。

試してみる — .gitignore Generator

フルツールを開く