PHP と Composer の .gitignore 設定

Composer を使用する PHP プロジェクトの適切な .gitignore。vendor ディレクトリ、Laravel/Symfony フレームワークファイル、環境設定、IDE メタデータを網羅します。

Language

詳細な説明

PHP プロジェクトは依存関係管理に Composer を使用し、通常は Laravel、Symfony、WordPress などのフレームワークを採用します。適切に構成された .gitignore で vendor コード、環境シークレット、フレームワークキャッシュをバージョン管理から除外します。

Composer パターン:

  • vendor/ — Composer の依存関係ディレクトリで、node_modules/ に相当します。すべてのサードパーティパッケージとオートローダーを含みます。composer install で再生成されます。
  • composer.phar — ローカルにダウンロードした場合の Composer バイナリ本体。グローバルインストールを使用してください。

アプリケーションでは composer.lock常にコミットしてください。すべての環境で決定論的なインストールを保証します。ライブラリパッケージの場合、一部のメンテナーはこれを無視することを選択します(Rust の Cargo.lock のライブラリクレート慣習と同様)。

Laravel 固有のパターン:

.env
storage/*.key
storage/framework/cache/*
storage/framework/sessions/*
storage/framework/views/*
bootstrap/cache/*
public/hot
public/storage
  • .env — Laravel は設定に dotenv を使用します。.env.example ファイルは新しい開発者向けのテンプレートとしてコミットされます。
  • storage/ サブディレクトリ — フレームワークキャッシュ、コンパイル済み Blade ビュー、セッションファイル。ランタイムアーティファクトです。
  • bootstrap/cache/php artisan config:cache で生成されるキャッシュ済み設定とルートファイル。
  • public/hot — ローカル開発中に使用される Vite/Mix ホットリロードインジケーターファイル。

Symfony 固有のパターン:

var/
.env.local
.env.*.local
public/bundles/
  • var/ — Symfony はキャッシュ、ログ、セッションをこのディレクトリに保存します。
  • public/bundles/ — Symfony が生成するバンドルアセットのシンボリックリンクまたはコピー。

WordPress パターン:

WordPress は異なります — 多くのデプロイメントではアプリケーション全体がリポジトリにあります。通常、以下を無視します:

  • wp-content/uploads/ — ユーザーがアップロードしたメディアファイル。
  • wp-config-local.php — ローカルデータベース設定のオーバーライド。
  • wp-content/cache/wp-content/upgrade/ — キャッシュと更新の作業ディレクトリ。

テストおよび品質ツール: .phpunit.result.cache.php-cs-fixer.cachephpstan.neon.local を無視してください — これらは再実行を高速化するツールキャッシュですが、マシン固有です。

ユースケース

Vite でフロントエンドアセットをコンパイルする Laravel チームが、Composer vendor、コンパイル済みアセット、環境ファイル、storage ディレクトリを処理する .gitignore を必要としています。

試してみる — .gitignore Generator

フルツールを開く