github/gitignore · Nextjs.gitignore
Next.js .gitignore テンプレート解説
Nextjs.gitignore が .next、out、node_modules、.env ファイル、.vercel、next-env.d.ts、*.pem を無視する理由と、Node テンプレートとの違いを説明します。
Nextjs.gitignore は create-next-app が作る .gitignore とほぼ同じ構成である。ほとんどのルールが / で始まりリポジトリルートに固定されているため、モノレポでアプリがサブフォルダーにある場合は、パスを合わせて変えるか Node テンプレートを併用する。
Next.js は .env、.env.local、.env.development.local など複数の環境ファイルを読み込む。このテンプレートは .env と .env*.local の両方を除外する。
ルール別の解説
| パターン | 何を、なぜ無視するか |
|---|---|
/.next//out//build | Next.js のビルドnext build の結果とキャッシュ(.next)、静的エクスポートの結果(out)である。デプロイの過程で作り直す。 |
/node_modules/.pnp.pnp.js | 依存関係パッケージのインストール結果と Yarn Plug'n'Play のファイルである。ルートにのみ固定されているため、サブパッケージの node_modules は防げない。 |
.env.env*.local | 環境変数秘密の値が入った環境ファイルである。NEXT_PUBLIC_ で始まる変数はビルド結果に含まれてブラウザに露出するため、秘密はその接頭辞を付けずにサーバー側でのみ使う。 |
.vercelnext-env.d.ts*.tsbuildinfo | デプロイ・型生成ファイルvercel link が作ったプロジェクトの連携情報と、Next.js が開発・ビルド時に再生成する型宣言ファイル、TypeScript のインクリメンタルビルド情報である。 |
*.pem | 証明書ローカルでの HTTPS 開発や外部サービス連携に使う証明書・秘密鍵(.pem)ファイルである。秘密鍵はコミットしない。 |
npm-debug.log*yarn-debug.log*yarn-error.log*/coverage.DS_Store | ログ・その他パッケージマネージャーのログ、テストカバレッジ、macOS Finder のファイルである。 |
実務での注意点
- モノレポ(
apps/web)の場合、/node_modulesのようなルート固定のルールはサブアプリに適用されない。Node テンプレートを一緒に選択すると、あらゆる深さのnode_modules/が一致する。 next.config.js、package-lock.jsonなどの設定と lockfile はコミットする。.envをコミットしない代わりに、必要な変数名を README や.env.exampleで共有する。
元のテンプレート
Nextjs.gitignore
# See https://help.github.com/articles/ignoring-files/ for more about ignoring files.# dependencies/node_modules/.pnp.pnp.js# testing/coverage# next.js/.next//out/# production/build# misc.DS_Store*.pem# debugnpm-debug.log*yarn-debug.log*yarn-error.log*# local env files.env*.local.env# vercel.vercel# typescript*.tsbuildinfonext-env.d.ts
テンプレートの出典: github/gitignore/Nextjs.gitignore @356fd7b (2026-09-11) · CC0-1.0