.gitignore ジェネレーターについて
このツールは GitHub が管理する公式テンプレート集 github/gitignore をそのまま取り込み、複数のテンプレートを 1 つのファイルに結合して重なるルールを整理します。作成したルールが実際にどのファイルを無視するかは、git と同じマッチング規則で実装したパターンテスターですぐに確認できます。処理はすべてブラウザー内で完結し、入力したルールやパスがサーバーに送信されることはありません。
主な機能
- テンプレート 312 種の検索・複数選択 — 言語・フレームワーク、OS・エディター・ツール、コミュニティのテンプレートを名前で検索し、複数選んで 1 つのファイルに結合します。Enter キーで最初の結果をすぐに追加できます。
- 意味を損なわない重複除去 — 複数のテンプレートに同じルールがあれば、後に出たものを削除します。ただし、2 つのルールの間に `!` 否定ルールがある場合は結果が変わりうるため、そのまま残します。
- セクションコメント・元のコメント — テンプレートごとに出典パス付きのセクションコメントを付け、後でどのルールがどこから来たのかわかるようにします。元のコメントを外してルールだけを残すこともできます。
- 人気の組み合わせプリセット — Node + macOS + VS Code、Java + Maven + IntelliJ、Unity + Visual Studio のようなよく使う組み合わせを一度に選択します。
- パターンテスター — パスの一覧を貼り付けると、無視されるかどうかと決定したルール(行番号付き)を表示します。`!` 否定、末尾の `/`、`**`、アンカリング、親ディレクトリの除外を git と同じ方法で判定します。
- 追跡解除コマンドの作成 — コミット済みのファイルを `git rm --cached` で追跡から外すコマンドを、bash/zsh・PowerShell 用に作成します。
- コピー・ダウンロード・共有リンク — 結果をコピーするか `.gitignore` ファイルとして保存します。選択したテンプレートはアドレス(`?t=`)に含まれるため、リンクで共有できます。
使い方
- 左の一覧でテンプレートを検索してチェックするか、人気の組み合わせボタンを押します。通常は言語/フレームワークを 1〜2 個と、使っている OS・エディターを選びます。
- 右側で結果を確認します。重複ルールを除去、セクションコメント、元のコメントを保持のオプションを変えるとすぐに反映されます。プロジェクト固有のルールは追加ルールに書きます。
- コピーまたはダウンロードで、リポジトリのルートに
.gitignoreを作成します。ブラウザーによってファイル名がgitignoreで保存された場合は、先頭にドットを付けて名前を変更します。 - テストボタンを押すと、ルールがパターンテストタブに渡されます。リポジトリのパスを貼り付けて、意図どおりに無視されるか確認します(
git ls-files、find . -type fの出力が便利です)。 - コミット済みのファイルが無視されない場合は、追跡解除タブでコマンドを作成して実行し、コミットします。
テンプレートデータとライセンス
テンプレート 312 種は github/gitignore リポジトリのコミット 356fd7b(2026-09-11)時点のものです。このリポジトリは CC0-1.0(パブリックドメイン献呈)で配布されており、自由にコピー・改変・再配布できます。ルートフォルダーは言語・フレームワーク、Global は OS・エディター・ツール、community は特化型のテンプレートです。テンプレートごとの解説とこのサイトの文章は、このサイトが作成したものです。
よくある質問
.gitignore に追加したのに、ファイルが git status に表示され続けます。
.gitignore はまだ追跡されていないファイルにのみ適用されます。コミット済みのファイルは git rm --cached <ファイル> でインデックスから外してコミットしないと無視されません。追跡解除タブでコマンドを作成できます。
`!` で再び含めたのに、まだ無視されます。
親ディレクトリ自体が除外されていると、git はその中を見ないため、配下のファイルを ! で戻すことはできません。logs/ の代わりに logs/* のようにディレクトリの中身だけを除外したうえで、!logs/keep.txt を使ってください。パターンテスターはこのケースを「無視(親ディレクトリ)」と表示します。
重複を除去するとルールの意味が変わりませんか?
git は最後に一致したルールに従います。同じルールが再び現れたとき、その間に ! ルールがなければ、後ろのものを削除しても結果は同じです。間に否定ルールがある場合、このツールは重複を削除せずに残します。
パターンテスターの結果は実際の git と同じですか?
gitignore(5) のドキュメントと git の wildmatch の動作に従って実装し、ランダムなパターン・パス数千件を実際の git ls-files --ignored の結果と照合して一致を確認しました。ただし、下位ディレクトリの .gitignore、.git/info/exclude、グローバル設定は合わせて計算しないため、リポジトリ全体の判定は git check-ignore -v で確認してください。
macOS・VS Code のルールはプロジェクトの .gitignore に入れるべきですか?
OS やエディターが作るファイルは個人の環境に属するため、core.excludesFile で指定するグローバル gitignore に置く方法が推奨されます。ただ、チームメンバーがグローバル設定をしていないことが多いため、プロジェクトのファイルに一緒に入れるチームも多くあります。
テンプレートデータはどのくらい新しいですか?
github/gitignore リポジトリをビルドスクリプトでダウンロードして同梱しています。基準のコミットと日付は、紹介ページ、テンプレート一覧の下部、生成結果の先頭コメントに表示されます。
入力した内容は保存・送信されますか?
いいえ。生成・テスト・コマンド作成はすべてブラウザーで実行されます。ライト/ダークのテーマと生成オプションだけが、このブラウザーの localStorage に保存されます。