Skip to content
321以上の厳選テンプレート|決定論的マージ処理

モダンエンジニアのための .gitignore ジェネレーター

プロジェクト全体の .gitignore ファイルをわずか数秒でクリーンかつ決定論的に生成。公式アップストリームのルールを統合し、重複を排除。トラッキングなしですぐに本番投入可能な設定をコピー&ダウンロードできます。

無料 · ブラウザ完結生成 · アカウント不要

.gitignore — Node + Next.js + Docker + macOS
# Created by https://dotgitignore.com
# Edit at https://dotgitignore.com/generator?select=node,nextjs,docker,macos

### Node ###
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-debug.log*

### Next.js ###
.next/
out/
build/
dist/

### Environment Variables ###
.env
.env*.local
!.env.example

### Docker ###
.docker/
*.tar

### Operating System (macOS) ###
.DS_Store
.AppleDouble
.LSOverride
公式テンプレートを組み合わせ、重複を排除し、わずか数秒で本番品質の Git 設定ファイルを生成します。ジェネレーターを開く

検証済みの除外パターンとルール内訳を備えた、主要技術スタック用テンプレート。

全228件以上のテンプレートページを見る

DotGitIgnore が選ばれる理由

クリーンで決定論的なバージョン管理を重視するエンジニアのための設計:

決定論的マージ

重複行を完全に排除しながら、意図的な否定ルール(!pattern)とファイル順序を厳密に維持します。

228+の厳選テンプレート

公式アップストリームのGitHubテンプレートに加え、モダンな補完スタック(Vite、Astro、Svelte、Claude Code)を収録。

ブラウザ上で完全動作

100%クライアント側のTypeScript実行。選択したスタックや生成ファイルはメモリ内でのみ処理され、外部送信されません。

モノクロームの洗練されたUI

余計な装飾を削ぎ落とし、ダークモードとライトモードに完全対応した開発者に心地よいミニマルデザイン。

.gitignore ファイルとは?

Gitバージョン管理において、未追跡ファイルはコミット対象候補となります。.gitignore ファイルは、追跡から除外すべきファイル、ディレクトリ、およびファイル名パターンをGitに正確に指示します。これにより、大容量の依存関係パッケージ、秘密情報やクレデンシャル、コンパイル成果物、OS固有のキャッシュが誤ってコミットされるのを防ぎます。

シークレット・クレデンシャル

.env や .env.local、秘密SSHキーなどのローカル設定ファイルは、情報漏洩を防ぐため絶対にコミットしてはいけません。

パッケージ依存関係

node_modules/ や vendor/、Python仮想環境(.venv/)などのディレクトリはリポジトリ肥大化の原因となり、マニフェストから再インストールすべきです。

ビルド生成物

dist/ や target/、*.class、*.dll などのコンパイラ中間成果物はソースから再現可能なため、Git履歴に含めるべきではありません。

.gitignore ジェネレーターとは?

現代のソフトウェア開発が単一のツールや言語だけで完結することは稀です。フルスタック開発環境では、言語ランタイム(Node.js、Python等)、フレームワーク(Next.js、Spring Boot等)、コンテナ(Docker)、CIツール、そして各開発者がmacOSやWindows、Linux上で異なるIDEを使用します。

.gitignore ジェネレーターを使うと、プロジェクトで使用するすべての技術スタックを選択し、それらを統合した1つの本番品質ファイルを即座に作成できます。ブログ記事や別々のリポジトリから不揃いなルールをコピー&ペーストして重複や構文エラーを起こす代わりに、DotGitIgnore は決定論的にマージし、重複を排除して正規化されたファイルを生成します。

.gitignore ファイルの作り方

次の5つのステップに沿って、プロジェクトの .gitignore を生成・配置します:

STEP 01

スタックを選択

321以上の厳選テンプレートから、使用する技術を検索または選択します。

STEP 02

ルールを確認

リアルタイムプレビュー画面で、カテゴリ分類されたパターンとルール数を確認します。

STEP 03

コピーまたは保存

「コピー」をクリックしてクリップボードに送るか、「ダウンロード」でクリーンなファイルを保存します。

STEP 04

ルートに配置

保存したファイルをプロジェクトのルートディレクトリに .gitignore として配置します。

STEP 05

既存追跡の解除

ルール追加前にすでにコミットされていたファイルがある場合は、git rm --cached で追跡を解除します。

.gitignore の設定例

主要プログラミング言語・フレームワークの代表的な除外パターン:

node_modules/
dist/
npm-debug.log*
.env
.env.local

Python & Data Science

テンプレートを見る →
__pycache__/
*.py[cod]
.venv/
dist/
*.egg-info/
target/
*.class
*.jar
*.war
.sts4-cache/
[Ll]ibrary/
[Tt]emp/
[Oo]bj/
[Bb]uild/
*.csproj
.terraform/
*.tfstate
*.tfstate.*
crash.log
override.tf
*.pid
docker-compose.override.yml
.docker/
*.tar

.gitignore 構文とパターンマッチング

Gitのパターンマッチングは glob 形式の構文を使用してリポジトリ内のパスを照合します:

# comment

Lines beginning with a hash symbol # are treated as comments and ignored by Git(# から始まる行はコメントとして無視されます)。

temp/

末尾のスラッシュは、同名のファイルではなくディレクトリのみにマッチさせます。

*.log

アスタリスクは単一パスセグメント内の0文字以上の文字列にマッチします(例:*.log)。

/build

先頭のスラッシュは、.gitignore が存在するルートディレクトリにパスを固定します。

**/logs

二重アスタリスク(**)は、リポジトリツリー全体の任意の深さのディレクトリを再帰的に照合します。

!important.log

感嘆符(!)はパターンを否定し、直前で除外されたファイルを再度含めます(親ディレクトリ全体が除外されていない限り有効)。

よくある質問 (FAQ)

Git の除外パターン、ファイルの配置場所、運用ワークフローに関する疑問を解説。

.gitignore ファイルとは何ですか?

.gitignore は、Git リポジトリのルートに配置するプレーンテキストファイルです。Git が追跡すべきでないファイルやパターンを指定し、ビルド生成物、ローカルの機密情報、パッケージディレクトリ、一時ファイルなどがバージョン管理にコミットされるのを防ぎます。

.gitignore はどこに配置すべきですか?

通常はプロジェクトのルートディレクトリ(例:/my-project/.gitignore)に配置します。ルートに配置すると、リポジトリ全体のすべてのサブディレクトリに再帰的にルールが適用されます。特定のフォルダ限定のルールが必要な場合は、サブディレクトリ内に配置することも可能です。

複数のテンプレートを1つに結合できますか?

はい。現代の開発では複数の技術(例:Python + React + Docker + macOS + VS Code)を組み合わせるのが一般的です。DotGitIgnore では必要な技術をすべて選択でき、ルールの重複を解消して1つの整理されたファイルとして生成できます。

ディレクトリごと除外するにはどう書きますか?

ディレクトリとその配下の全ファイルを除外するには、ディレクトリ名の末尾にスラッシュを付けます(例:node_modules/ や build/)。スラッシュを付けない場合は同名のファイルとフォルダの両方にマッチしますが、末尾スラッシュを付けることでディレクトリに限定されます。

すでにコミットして追跡されているファイルを除外するには?

すでに追跡されているファイルは、.gitignore に追記するだけでは除外されません。ローカルのファイルを削除せずに Git の追跡から外すには、ターミナルで 'git rm --cached <ファイル名>'(ディレクトリの場合は 'git rm -r --cached <フォルダ名>/')を実行してからコミットしてください。

生成された .gitignore は編集できますか?

はい。DotGitIgnore が生成する内容は標準的な Git 設定テキストです。プロジェクト固有のパスを追加したり、環境ごとの機密ファイル名を調整したり、コメントを追記したりと、エディタで自由にカスタマイズ可能です。

.gitignore の基本的な使い方は?

プロジェクトのルートに .gitignore ファイルを作成し、除外したい相対パスやパターン(dist/、.env、*.log など)を記入して、'git add .gitignore && git commit -m "Add .gitignore"' でコミットします。以降、そのルールに一致する新規ファイルは Git の追跡対象外となります。

.gitignore はどのような仕組みで動いていますか?

Git が作業ツリーを検査する際('git status' や 'git add .' 実行時)、未追跡のファイルを .gitignore に書かれたパターンと照合します。パターンに一致し、かつ以降の '!' 否定ルールで除外解除されていない場合、Git はそのファイルをインデックス登録の対象から除外します。

.gitignore を設定するメリットは何ですか?

一時キャッシュ、コンパイル後のバイナリ、外部ライブラリ、OSのメタファイル(.DS_Store)、パスワードやAPIキーなどの機密情報が誤ってリモートリポジトリへプッシュされるのを防ぎ、リポジトリを軽量かつ安全に保ちます。

.gitignore 自体は Git でコミットすべきですか?

はい。チームメンバー全員やCI/CD環境で同じ除外ルールを共有するため、原則として .gitignore はリポジトリにコミットします。自分個人のエディタ設定など個人専用の除外ルールは、.git/info/exclude やグローバルの gitignore を活用するのがベストプラクティスです。

指定したファイルが .gitignore で除外されない原因は?

最も多い原因は、そのファイルが「すでに Git に追跡(コミット)されている」ことです。.gitignore は未追跡のファイルにのみ効果があります。'git rm --cached <ファイル名>' でインデックスから削除してコミットしてください。その他の原因として、構文エラーやスラッシュの指定ミスが考えられます。

.gitignore に .gitignore 自体を書くとどうなりますか?

すでにコミット済みの場合は、Gitがすでに追跡しているため何も起きません。初回コミット前に自分自身を指定すると、.gitignore 自体が除外されてチームと共有できなくなります。実践上、.gitignore 自体を除外対象に指定するべきではありません。

特定のファイルが除外されているか確認する方法は?

コマンド 'git check-ignore -v <ファイルパス>' を実行します。除外されている場合、どの .gitignore の何行目のルールに一致したかが出力されます。また、'git status --ignored' で現在除外されている全ファイルを確認できます。

.gitignore の推奨されるベストプラクティスは?

最初のコミットを作成する前に用意すること、ルールをカテゴリ別(依存関係、ビルド生成物、ローカル環境変数)に整理すること、そしてチーム共通のファイルとしてバージョン管理に含めることです。DotGitIgnore を使うことで、最初から重複のない最適なルールでスタートできます。

.gitignore には何を書くべきですか?

ビルド生成物(dist/, build/)、依存パッケージ(node_modules/, vendor/)、環境変数ファイル(.env*)、コンパイル済みバイナリ(*.class, *.o)、実行時ログ(*.log)を含めます。ソースコード本体や、再現性に必要な lock ファイル(package-lock.json など)は絶対に除外しないでください。

1つのリポジトリに複数の .gitignore を置けますか?

はい、可能です。Git はディレクトリ階層ごとに複数の .gitignore を認識します。サブディレクトリ内の設定は、ルートの設定よりも優先してその配下に適用されます。複数の言語やサービスが共存するモノレポなどで非常に有効です。

特定のファイル1つだけを除外するには?

ファイル名だけを記述するとリポジトリ内の同名ファイルすべてに一致します(例:secret.txt)。ルート直下の特定ファイルに限定したい場合は、先頭にスラッシュを付けます(例:/secret.txt)。深い階層の特定ファイルなら、相対パスで指定します(例:config/credentials.json)。

環境変数ファイルや .env を安全に除外するには?

.env および .env.local などを .gitignore に記述して API キーの漏洩を防ぎます。代わりにダミー値を入れた .env.example などの設定ひな形ファイルをリポジトリにコミットし、他の開発者が必要な環境変数を把握できるようにするのが定石です。

.gitignore と .git/info/exclude の違いは何ですか?

.gitignore はリポジトリで共有され全員に適用されます。.git/info/exclude はローカル専用の設定ファイルでコミットもプッシュもされないため、個人の開発端末特有のツールや一時的な作業ファイルを除外するのに適しています。

.gitignore のエクスクラメーションマーク (!) の意味は?

! は除外パターンの否定(例外指定)です。直前までに除外されたファイルのうち、特定のファイルだけを追跡対象に戻すために使用します(例:*.log で除外した後に !important.log でそれだけ含める)。ただし、親ディレクトリごと除外されている場合は配下のファイルを ! で復活させることはできません。

除外設定されているファイルを強制的に追跡させるには?

-f(または --force)オプションを付けて 'git add -f <ファイルパス>' を実行します。一度コミットされれば、.gitignore のルールに一致していても追跡され続けます。元に戻すには 'git rm --cached' を実行します。

今すぐ .gitignore の作成を始めましょう

公式テンプレートを組み合わせ、重複を排除し、わずか数秒で本番品質の Git 設定ファイルを生成します。

ジェネレーターを開く