.gitignore ジェネレーター — あらゆる言語・IDE のテンプレート
言語、フレームワーク、エディター、OS の .gitignore テンプレートを組み合わせて、1 つのすっきりしたファイルにまとめます。
### Node.js ### # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* lerna-debug.log* .pnpm-debug.log* # Runtime data pids *.pid *.seed *.pid.lock # Coverage coverage *.lcov .nyc_output # Dependencies node_modules/ jspm_packages/ bower_components # Caches .npm .eslintcache .stylelintcache .cache .parcel-cache *.tsbuildinfo .node_repl_history *.tgz # Yarn .yarn/cache .yarn/unplugged .yarn/build-state.yml .yarn/install-state.gz .pnp.* # Environment .env .env.* !.env.example # Build output dist build out ### macOS ### # General .DS_Store .AppleDouble .LSOverride # Custom folder icons (the real file name is "Icon" followed by a carriage return) Icon? # Thumbnails ._* # Files that might appear in the root of a volume .DocumentRevisions-V100 .fseventsd .Spotlight-V100 .TemporaryItems .Trashes .VolumeIcon.icns .com.apple.timemachine.donotpresent # Directories potentially created on remote AFP share .AppleDB .AppleDesktop Network Trash Folder Temporary Items .apdisk ### Windows ### # Windows thumbnail cache files Thumbs.db Thumbs.db:encryptable ehthumbs.db ehthumbs_vista.db # Dump file *.stackdump # Folder config file [Dd]esktop.ini # Recycle Bin used on file shares $RECYCLE.BIN/ # Windows Installer files *.cab *.msi *.msix *.msm *.msp # Windows shortcuts *.lnk ### Visual Studio Code ### .vscode/* !.vscode/settings.json !.vscode/tasks.json !.vscode/launch.json !.vscode/extensions.json !.vscode/*.code-snippets # Local History for Visual Studio Code .history/ # Built Visual Studio Code Extensions *.vsix
ブラウザはドットで始まるファイルを「gitignore.txt」として保存することがよくあります。プロジェクトのルートで、名前を正確に .gitignore に変更してください。
すべてブラウザ内で動作します。テンプレートはページに同梱されており、取得も送信も行いません。 すべての無料ツールを見る.
不具合や改善できそうな点を見つけましたか?いただいたメッセージはすべて読み、すぐに対応します。
この .gitignore ジェネレーターは、プロジェクトで使っている言語、フレームワーク、エディター、OS のテンプレートから .gitignore ファイルを作成します。Node.js、Python、Unity、JetBrains、macOS など 60 以上から選ぶか、「Next.js アプリ」のような構成から始めると、テンプレートがセクションごとの見出し付きで 1 つのファイルにまとめられます。複数のテンプレートに含まれるパターンは 1 回だけ書き出されます。
テンプレートは広く使われている github/gitignore コレクションを元に、長いコメントを省いて作成し、ページに同梱しています。そのためオフラインでも動作し、プロジェクトの情報がどこかに送信されることはありません。.gitignore は順序に左右されるため、重複の削除は慎重に行っています。あるテンプレートが「!」ルールで何かを再び対象に含めたら、それ以降の重複は、無視される内容が変わるリスクを避けて残します。.gitignore が影響するのは追跡されていないファイルだけです。Git がすでに追跡しているファイルについては FAQ をご覧ください。
使い方
- クイックスタートの構成をクリックするか、テンプレートを検索して、プロジェクトで使う言語、フレームワーク、エディター、OS にチェックを入れます。
- 不要なものはチップの × で削除します。
- uploads/ ディレクトリなど、プロジェクト固有のルールを「独自のルール」に追加します。
- 結果をコピーするか、ダウンロードしてリポジトリのルートに .gitignore として保存します。
- コミットします:git add .gitignore && git commit -m "Add .gitignore"。
よくある質問
.gitignore に追加したのにファイルが追跡されたままなのはなぜですか?
.gitignore は、追跡されていないファイルが追加されるのを防ぐだけです。Git がすでにそのファイルを追跡していれば、追跡は続きます。git rm --cached path/to/file(フォルダーなら git rm -r --cached folder/)で、ディスクからは削除せずにインデックスから外し、コミットしてください。シークレットが含まれていた場合、そのシークレットは履歴に残っているので、無効化して新しいものに差し替える必要があります。
.gitignore ファイルはコミットすべきですか?
はい。リポジトリに含めておけば、プロジェクトをクローンした全員が同じビルド出力や依存関係のフォルダーを無視できます。自分だけに関係するルール(使っているエディターのファイルなど)は、1 つのリポジトリなら .git/info/exclude に、全体なら git config --global core.excludesFile ~/.gitignore_global で設定するグローバルな無視ファイルに書けます。
package-lock.json や yarn.lock は無視すべきですか?
いいえ。アプリケーションではロックファイルをコミットしてください。テスト済みの依存関係の正確なバージョンが記録されるので、どのインストールでもどの CI 実行でも同じ依存ツリーになります。poetry.lock、Pipfile.lock、バイナリ用の Cargo.lock、Gemfile.lock、composer.lock も同様です。ここにあるテンプレートはどれもこれらを無視しません。
パターンの意味は?
末尾のスラッシュ(build/)はディレクトリだけに一致します。先頭のスラッシュ(/build)は、パターンをその .gitignore があるディレクトリに固定します。* はスラッシュ以外の任意の文字列、** はディレクトリをまたいで一致し(logs/**/*.log)、? は 1 文字に一致します。! で始まる行は、前のパターンで除外したものを再び含め、# は行頭にある場合に限りコメントの開始です。
否定(!)のルールが効かないのはなぜですか?
Git は無視されたディレクトリの中を見ないため、親ディレクトリのどれかが除外されているファイルは再び含めることができません。フォルダー自体(logs/)を無視する代わりに中身(logs/*)を無視し、そのうえでファイルを再び含めてください(!logs/.gitkeep)。順序も重要で、! の行は上書きしたいパターンより後に書く必要があります。
ファイルが無視されている理由を確認できますか?
はい。git check-ignore -v path/to/file で、一致した .gitignore ファイル、行番号、パターンが表示されます。git status --ignored は、作業ツリー内の無視されたファイルをすべて一覧表示します。
.gitignore に入れるべきもの
• パッケージマネージャーが再インストールする依存関係:node_modules/、vendor/、.venv/、Pods/。
• ビルド出力とキャッシュ:dist/、build/、target/、.next/、__pycache__/、*.class、カバレッジレポート。
• ローカルのシークレットと環境ファイル:.env、*.pem、認証情報の JSON。代わりにプレースホルダーの値を入れた .env.example をコミットしましょう。
• エディターや OS が作る不要なファイル:.DS_Store、Thumbs.db、.idea/、.vscode/ の大部分。
• ログ、クラッシュダンプ、ローカルのデータベース:*.log、*.sqlite(意図的なフィクスチャのデータベースを除く)。
リポジトリに残すもの:ソースコード、ロックファイル、すべての開発者に必要な設定、そして .vscode/extensions.json のような共有のエディター設定です。VS Code のテンプレートは、これを意図的に再び含めています。
Git が無視ルールを探す場所
Git は複数のソースを組み合わせます。優先度の高い順に、コマンドラインで指定したパターン、そのパスと同じディレクトリから親ディレクトリをたどってリポジトリのルートまでの各 .gitignore ファイル(サブディレクトリの .gitignore はその配下にだけ適用)、ローカル専用で決してコミットされない .git/info/exclude、そして core.excludesFile で指定したグローバルファイル(既定は ~/.config/git/ignore)です。プロジェクトの .gitignore をプロジェクトに関するものだけにしておきたいなら、OS やエディターのルールはグローバルファイルに書きましょう。
関連する無料ツール
- chmod 計算 — 読み取り・書き込み・実行のチェックボックスから 8 進数のモードと chmod コマンドを求めたり、755、644、rwxr-xr-x を読み解いたりできます。
- docker run ⇄ Compose 変換 — docker run コマンドを docker-compose.yml のサービスに、Compose のサービスを docker run に変換します。
- 正規表現テスター — サンプルテキストに対して正規表現をテストし、マッチのハイライト、キャプチャグループ、置換のプレビューをリアルタイムで確認。無料、ブラウザ上で動作。
- JSON 整形 — JSON を整形、圧縮(minify)、検証し、解析エラーは行と列で位置を示します。ブラウザ上で動作、アップロード不要。