.gitignore ジェネレーター

このリポジトリで使っている技術をすべて選んでください。

OS やエディターのルールは通常、Git のグローバル除外ファイルに入れます。

次へ:ルールを確認

リポジトリで使う技術を選び、生成ファイル、依存関係、ローカル環境ファイルを対象としたプロジェクト用 .gitignore を作成します。複数の技術を選べます。OS やエディターのルールは別に表示されるため、個人用の設定を Git のグローバル除外ファイルに入れられます。

除外ルールの作成と使い方

  1. 1

    プロジェクトの技術を選ぶ

    リポジトリで使う技術をすべて選びます。フロントエンドをビルドする PHP アプリなら、Laravel と Node.js の両方を選べます。

  2. 2

    必要なら個人用ルールを追加

    OS やエディターを選ぶと、グローバル除外用のルールが別に表示されます。既存のグローバルファイルで対応済みなら選ぶ必要はありません。

  3. 3

    確認してコピーまたはダウンロード

    プロジェクト用ルールを確認します。コピーしてリポジトリのルートに `.gitignore` として保存するか、ZIP をダウンロードして中の `.gitignore` を同じ場所に展開してください。任意の個人用ルールは Git のグローバル除外ファイルに入れます。

  4. 4

    コミット前に確認

    プロジェクトの `.gitignore` をコミットしてチームで共有します。サンプル設定や依存関係のロックファイルなど、必要なファイルが Git から見えているか確認してください。

どのファイルにどのルールを入れる?

ルールの種類 入れる場所 例
プロジェクトの生成物とインストール済みの依存関係 リポジトリにコミットする .gitignore node_modules/、vendor/、__pycache__/
ローカル環境の値 プロジェクトの .gitignore .env とローカル用の .env.*
自分の OS やエディターが作るファイル Git のグローバル除外ファイル、またはそのリポジトリだけなら .git/info/exclude Finder のメタデータやエディターのバックアップ
共同作業者に必要なファイル 必要に応じて Git で追跡 .env.example、package-lock.json、composer.lock、Gemfile.lock

Git はプロジェクトの .gitignore、リポジトリ内だけの .git/info/exclude、個人用の core.excludesFile を参照します。.gitignore をコミットすると、プロジェクトのルールはリポジトリと一緒に共有されます。個人用ルールは通常、自分の PC だけに適用されます。詳しくは Git の gitignore マニュアルとGitHub のファイル除外ガイドを参照してください。

使用例:Python スクリプトを含む Node.js サービス

Node.js と Python を選びます。プロジェクト用ファイルには、node_modules/ などのインストール済みパッケージ、dist/ などの Node ビルド出力、__pycache__/ や .venv/ などの Python 生成ファイル向けルールがまとめられます。ローカルの .env も除外しつつ、.env.example は追跡できるようにします。Mac と Visual Studio Code を使う場合は、その個人用オプションを選び、別に表示されるルールを確認してください。保存する前に、両方の出力を実際のリポジトリと照らし合わせます。

このツールは選んだテンプレートからルールを作ります。ファイルを検査できないため、dist/ が生成物なのか、コミットしたいソースなのかは判断できません。プロジェクトに合わないルールは範囲を狭めるか削除してください。未追跡ファイルに適用されるルールは git check-ignore -v path/to/file で調べられます。GitHub のテンプレート集も参考になりますが、自分のリポジトリの確認は省けません。

環境ファイルとロックファイル

.env を除外するとローカルの認証情報が新たなコミットに入るのを防ぎやすくなりますが、すでにコミットした秘密情報は削除されません。Git の履歴に含まれている場合は、追跡を解除し、コピー先を確認して認証情報を更新してください。.env.example は実際の秘密情報ではなくプレースホルダーだけを含む場合に追跡します。生成されるファイルには、広い .env.* ルールでこのサンプルを隠さないための !.env.example がすでに含まれています。ルールを編集するときも、この例外を残してください。

アプリケーションでは、依存関係のバージョンを再現できるようロックファイルを追跡します。特に npm は package-lock.json のコミットを推奨し、Composer も composer.lock のコミットを推奨しています。ライブラリでは方針が異なる場合があるため、そのビルドとリリースの方針に従ってください。

よくある質問

除外ルールが効くのは、まだ追跡されていないファイルです。ローカルのコピーを残して追跡をやめるには git rm --cached path/to/file を実行し、その削除をコミットします。認証情報が入っていた場合は更新し、リポジトリの履歴とコピー先も確認してください。

通常、秘密情報を含まない .env.example とアプリケーションのロックファイルは Git で追跡します。サンプルは必要な環境変数を示し、ロックファイルはチームやデプロイ先で使う依存関係のバージョンを固定します。サンプルに本物の秘密情報がないか確認してください。

はい。同じリポジトリで使う技術をすべて選んでください。選択したプロジェクト用ルールが 1 つの .gitignore にまとめられます。用途が異なるパスを除外していないか確認してください。

複数のリポジトリで使う個人用ルールは Git のグローバル除外ファイルに入れます。XDG_CONFIG_HOME が未設定なら、Git は既定で ~/.config/git/ignore を使います。core.excludesFile で別のパスも指定できます。このリポジトリだけの非公開ルールには .git/info/exclude を使います。チームで共有する必要がなければ、別に表示された個人用ルールをプロジェクトのファイルに追加しないでください。

選んだ技術と、任意で選んだ OS またはエディターの情報が、ルール作成のためサーバーに送信されます。複数ステップの画面では、その選択内容がページの URL にも含まれます。URL に秘密情報を入れないでください。このツールは選択内容からルールを生成しますが、リポジトリを読み取ったりファイルをアップロードしたりしません。

関連ツール

このツールは他の言語でも利用できます