Pack Camo

.gitignore ジェネレーター

言語、フレームワーク、エディタ、OSのテンプレートを1つの.gitignoreに統合。

処理はすべて端末内で完結し、アップロードは一切ありません。

.gitignore

106 個のパターン · 185 行 · 1 個の重複を削除

# Generated for: Node, Env & secrets, macOS, Windows, VS Code### Node #### Logslogs*.lognpm-debug.log*yarn-debug.log*yarn-error.log*lerna-debug.log*.pnpm-debug.log*# Diagnostic reports (https://nodejs.org/api/report.html)report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json# Runtime datapids*.pid*.seed*.pid.lock# Coverage directory used by tools like istanbulcoverage*.lcov.nyc_output# Dependency directoriesnode_modules/jspm_packages/bower_components# TypeScript cache*.tsbuildinfo# Optional npm cache directory.npm# Optional eslint / stylelint cache.eslintcache.stylelintcache# Optional REPL history.node_repl_history# Output of 'npm pack'*.tgz# Yarn Integrity file.yarn-integrity# dotenv environment variable files.env.env.development.local.env.test.local.env.production.local.env.local# parcel-bundler cache.cache.parcel-cache# Build outputdistbuild# Gatsby files.cache/public# Serverless directories.serverless/# FuseBox cache.fusebox/# DynamoDB Local files.dynamodb/# TernJS port file.tern-port# Stores VSCode versions used for testing VSCode extensions.vscode-test# yarn v2.yarn/cache.yarn/unplugged.yarn/build-state.yml.yarn/install-state.gz.pnp.*### Env & secrets #### Environment files.env.*!.env.example!.env.sample!.env.template# Keys and certificates*.pem*.key*.p12*.pfx*.crt*.cerid_rsaid_rsa.pubid_ed25519id_ed25519.pub# Credentialscredentials.jsonsecrets.jsonsecrets.yml*.secret.npmrc.pypirc.netrcservice-account*.json### macOS #### General.DS_Store.AppleDouble.LSOverrideIcon[\r]# 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.AppleDesktopNetwork Trash FolderTemporary Items.apdisk### Windows #### Windows thumbnail cache filesThumbs.dbThumbs.db:encryptableehthumbs.dbehthumbs_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### VS 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

既に追跡されているファイルは追跡が維持されます: 追跡を停止するには git rm --cached <file> を実行してください。

プロジェクト全体の技術スタックを1つの.gitignoreに集約

この.gitignoreジェネレーターは、プログラミング言語、フレームワーク、ビルドツール、エディタ、OSの既成テンプレートを1つのファイルに統合します。NodeとNext.jsを選び、macOS、Windows、VS Codeを追加すれば、セクションごとに分類され、重複パターンが排除され、独自ルール用の領域も備えた.gitignoreが完成します。テンプレートは公式のgithub/gitignoreコレクションから抽出され、すべてブラウザ内で処理されます。

.gitignoreの生成手順

  1. 1検索ボックスに言語、フレームワーク、エディタ、OS名を入力し(例: python, unity, jetbrains)、候補チップをクリックして追加します。Enterキーで最初の候補を追加できます。
  2. 2プロジェクトに必要なテンプレートを自由に組み合わせます。一般的なWebプロジェクトでは、言語、フレームワーク、エディタ、OSを組み合わせます。
  3. 3カスタム行に /uploads/ や *.sqlite など、プロジェクト固有のパスを追加します。
  4. 4生成結果をコピーするか、ダウンロードをクリックして .gitignore としてリポジトリのルートに配置します。

.gitignoreファイルの役割

.gitignoreは、パッケージマネージャーで再取得できる依存関係(node_modules/, vendor/)、ビルド生成物(dist/, target/)、キャッシュ、ログ、エディタ設定、そして .env などの機密情報など、Gitで追跡すべきでないファイルを指定します。これらを除外することで、リポジトリを軽量に保ち、差分(diff)を読みやすくし、秘密情報の誤コミットを防ぎます。

このファイルは未追跡(untracked)のファイルにのみ有効です。すでにコミットされているファイルは、後から .gitignore に追加しても自動で追跡解除されません。git rm --cached <file>(フォルダの場合は git rm -r --cached <dir>)を実行してコミットすることで、ローカルファイルを残したまま追跡を停止できます。

.gitignoreのパターン構文

パターンの順序が重要です。後から記述されたルールが優先されるため、!.vscode/settings.json のような例外ルールは、広範な .vscode/* の後に記述する必要があります。

*.log
スラッシュを含まないパターンはすべての階層にマッチし、リポジトリ内のすべての .log ファイルを除外します。
/build
先頭のスラッシュは.gitignoreがある階層を基準にするため、ルート直下のbuildディレクトリのみを除外します。
dist/
末尾のスラッシュはディレクトリのみに一致し、distという名前のファイルにはマッチしません。
**/temp
2つのアスタリスクは任意の階層のディレクトリに一致し、ルートや配下のあらゆる場所にある temp フォルダを除外します。
!.env.example
先頭の感嘆符は、直前のルールで除外されたファイルを再包含します。親ディレクトリ自体が除外されている場合は再包含できません。
# コメント
# で始まる行はコメント、空行は区切り文字です。# や ! を文字通り扱いたい場合は先頭にバックスラッシュを付けます。

テンプレートの結合と重複排除の仕組み

各テンプレートは ### 名前 ### という見出しのセクションになります。重複パターンを削除をオンにすると、前のセクションで既に出現したパターンは後のセクションから除外され、パターンがすべて消えた空のコメントブロックも自動整理されます。否定パターンは位置が意味を持つため、元の順序が保たれます。

ビルドツールやフレームワークのテンプレートは重複することが多く(例: Node、Next.js、Viteはいずれも node_modules やログを除外)、重複排除により行数が20%以上削減されるのが一般的です。

プロジェクト固有、グローバル、ローカルの除外設定

チーム全体で共有するため、プロジェクトの .gitignore はコミットし、そのプロジェクト自身が生成するファイルのみを記述します。お使いのPC固有のファイル(.DS_Store, Thumbs.db, エディタ設定)は git config --global core.excludesFile ~/.gitignore_global でグローバル設定にするのが適切です。特定のリポジトリでのみ自分用に除外したい場合は、コミットされない .git/info/exclude を使用します。

アプリケーションの package-lock.json、poetry.lock、Cargo.lock などのロックファイルは、環境間での同一性を保証するために必ずコミットすべきであり、除外してはなりません。どのルールがファイルを除外しているかを調べるには、git check-ignore -v path/to/file を実行します。

秘密情報をGitに含めないための対策

環境変数・シークレットテンプレートは、.env ファイル、秘密鍵、一般的な認証情報ファイルを除外しつつ、設定項目を文書化する .env.example を保持します。シークレットの除外は今後のコミットを防ぐだけです。一度でもリポジトリにプッシュされた鍵は履歴に残るため、直ちに再生成・ローテーションしてください。関連ツール: ファイル権限を確認できるchmod 計算機、クローラー制御用のrobots.txt 生成ツール。

よくある質問

.gitignoreファイルはどこに置くべきですか?
リポジトリのルート(.gitフォルダと同じ階層)に配置します。サブディレクトリ内に配置することも可能で、その場合はそのディレクトリ配下にのみルールが適用されます。
.gitignoreに追加したのにファイルが追跡され続けるのはなぜですか?
.gitignoreは未追跡のファイルにのみ適用されます。git rm --cached <file>(フォルダの場合は git rm -r --cached <folder>)を実行してコミットすれば、ローカルファイルを残したままGitの追跡を停止できます。
package-lock.jsonやyarn.lockは除外すべきですか?
アプリケーション開発では除外すべきではありません。ロックファイルは依存パッケージの正確なバージョンを固定し、環境ごとの差異を防ぐためのものであり、コミットする必要があります。
.vscodeや.ideaは.gitignoreに含めるべきですか?
通常は個人用ファイルのみを除外します。VS Codeテンプレートは .vscode/* を除外しつつ共有用の settings.json や launch.json を残し、JetBrainsテンプレートは .idea 全体を除外します。
すべてのプロジェクトで一括して.DS_Storeを除外するには?
グローバルの除外ファイルに追加します。~/.gitignore_global を作成して .DS_Store を記述し、git config --global core.excludesFile ~/.gitignore_global を実行してください。
フォルダ内の1つのファイルを除いてすべて無視するには?
フォルダ自体ではなくフォルダの中身を指定し、その後に例外を指定します。例: folder/* に続けて !folder/keep.txt と記述します。folder/ と書くとフォルダ自体が除外され、内部のファイルを再包含できなくなります。
これらのテンプレートはどこから提供されていますか?
公式の github/gitignore リポジトリ(CC0ライセンス)から抽出・整理したものです。プロジェクト特有の構成に合わせて生成結果を確認してください。