brand logo

ドキュメント

.gitignore

.gitignore ファイルは、Git が無視すべき意図的に追跡されないファイルを指定します。

.gitignore ファイルは、Git が無視すべき意図的に追跡されないファイルを指定します。

こちらも参照 Git のドキュメント

少なくとも以下のエントリを含む .gitignore ファイルを持つことをお勧めします:

.gitignore
# Nuxt 開発/ビルド出力
.output
.data
.nuxt
.nitro
.cache
dist

# Node 依存関係
node_modules

# ログ
logs
*.log

# その他
.DS_Store

# ローカル環境ファイル
.env
.env.*
!.env.example

tips

このセクションは公式ドキュメントの翻訳ではなく、本サイト独自の補足記事です。

Nuxt プロジェクトでの .gitignore の役割とメリット

Nuxt を使った開発では、多くの自動生成ファイルや環境依存の設定ファイルがプロジェクト内に存在します。これらをすべて Git で管理してしまうと、リポジトリが肥大化したり、不要な差分が頻発して開発効率が落ちる原因になります。

そこで .gitignore ファイルを適切に設定することで、Git に追跡させたくないファイルやフォルダを明示的に除外できます。これにより、以下のような課題を解決できます。

  • ビルド成果物やキャッシュファイルの誤コミット防止
  • ローカル環境固有の設定や秘密情報の漏洩防止
  • チームメンバー間での不要な差分発生を抑制
  • リポジトリの軽量化とクリーンな管理

本記事では、Nuxt プロジェクトにおける .gitignore の基本的な役割から、実務でよく使われる設定例、注意点までを丁寧に解説します。


まず結論:Nuxt の .gitignore で押さえるべきポイント

  • Nuxt のビルド出力ディレクトリ(.nuxt.outputdist)は必ず除外する
  • Node.js の依存関係フォルダ node_modules は追跡しない
  • ログファイルやキャッシュファイル(logs*.log.cache)も除外対象
  • 環境変数ファイル(.env.env.*)は基本的に除外し、例外的に .env.example は管理する
  • OS やエディタ固有のファイル(例:.DS_Store)も除外しておくと便利
  • チームで共有する .gitignore はプロジェクトの安定性とセキュリティ向上に寄与する

いつ .gitignore を使うべきか?使わない方がよいケースは?

使うべきケース

  • Nuxt のビルドや開発で生成される一時ファイルや成果物を Git 管理から除外したいとき
  • ローカル環境固有の設定や秘密情報を誤ってリポジトリに含めたくないとき
  • チーム開発で不要な差分やコンフリクトを減らし、リポジトリをクリーンに保ちたいとき
  • CI/CD 環境や他の開発者が同じ環境を再現しやすくしたいとき

使わない方がよいケース

  • プロジェクトの重要な設定ファイルやソースコードを誤って除外してしまう場合
  • 一時的に生成物をリポジトリに含めて共有したい特殊なケース(ただし推奨されない)
  • .gitignore の設定が複雑すぎて管理が困難になっている場合(シンプルに保つことが重要)

実務でよくあるユースケースとサンプル設定

1. Nuxt のビルド成果物を除外する

Nuxt は開発時に .nuxt フォルダや .output フォルダを生成します。これらはビルドの中間ファイルや最終成果物を含み、Git 管理には不要です。

.nuxt
.output
dist

2. Node.js の依存関係を除外する

node_modules はパッケージマネージャーで再現可能なため、Git 管理は不要です。

node_modules

3. 環境変数ファイルの管理

.env.env.local などの環境変数ファイルは秘密情報を含むことが多いため、基本的に除外します。ただし、サンプルファイルは共有するために除外しません。

.env
.env.*
!.env.example

4. ログやキャッシュファイルの除外

開発中に生成されるログやキャッシュも除外対象です。

logs
*.log
.cache

5. OS やエディタ固有ファイルの除外

Mac の .DS_Store や Windows の Thumbs.db なども除外しておくと便利です。

.DS_Store
Thumbs.db

よくある落とし穴・注意点

1. ビルド成果物を誤ってコミットしてしまう

.nuxtdist フォルダを除外し忘れると、ビルド成果物がリポジトリに含まれ、容量増加や差分のノイズが発生します。必ず .gitignore に明示的に記述しましょう。

2. 環境変数ファイルの漏洩リスク

.env ファイルを誤ってコミットすると、API キーやパスワードなどの秘密情報が公開される恐れがあります。.gitignore で除外しつつ、.env.example のようなテンプレートファイルを用意して共有する運用が望ましいです。

3. チーム間での .gitignore の不一致

メンバー間で .gitignore の内容が異なると、不要なファイルがコミットされたり、逆に必要なファイルが除外されたりすることがあります。プロジェクトのルートに統一した .gitignore を置き、全員が同じルールを使うようにしましょう。

4. SSR と CSR の違いによる影響

Nuxt は SSR(サーバーサイドレンダリング)と CSR(クライアントサイドレンダリング)を組み合わせて動作しますが、.gitignore の設定自体はレンダリング方式に直接影響しません。ただし、ビルド成果物を誤って管理すると、SSR 用のサーバーコードやクライアントコードの差分管理が煩雑になるため注意が必要です。

5. パフォーマンスへの影響

Git リポジトリに不要な大容量ファイルが含まれると、クローンやプルの速度が遅くなります。.gitignore で適切に除外し、リポジトリの軽量化を図ることがパフォーマンス向上につながります。


まとめ

Nuxt プロジェクトにおける .gitignore は、開発効率とセキュリティを高めるために欠かせない設定ファイルです。ビルド成果物や依存関係、環境変数ファイルなどを適切に除外することで、リポジトリをクリーンに保ち、チーム開発のトラブルを減らせます。

実務では、シンプルかつ明確な .gitignore を共有し、秘密情報の管理に特に注意を払いましょう。これにより、Nuxt 開発の品質と生産性が大きく向上します。