プロジェクトの除外ルールを作成

.gitignore生成ツール

言語だけでなく、エディターやOSの一時ファイルもまとめて整理。必要なテンプレートを選び、プロジェクトに合う.gitignoreを作成できます。

プロジェクトの除外ルールを作成ブラウザー内で生成
構成から選ぶ

01 テンプレートを選択

言語・フレームワーク
エディター
OS
追加ルール

1行に1ルール。順序と行末の空白を保持します。

02 .gitignore

テンプレート3件 · 23行

内容を確認してリポジトリのルートに保存してください。既存ファイルがある場合は統合します。追跡済みファイルには影響しません。

共有するファイルと、生成し直せるファイルを分ける

.gitignoreには、依存パッケージやビルド出力など、通常は共有する必要のない生成物を指定します。Next.jsならNode.jsとNext.jsを組み合わせ、Pythonなら仮想環境とキャッシュを確認するところから始められます。

用意しているのは18種類の簡易テンプレートです。GitHubのテンプレート集全体を同期したものではなく、リポジトリの自動判定もしません。既存の.gitignoreがある場合は上書きせず、必要なルールを統合してください。

.gitignoreが反映されないときの確認順

まずgit statusで状態を確認します。Gitがすでに追跡しているファイルは、あとから除外ルールを書いても追跡が続きます。git check-ignore -v --no-index path/to/fileで、インデックスに関係なく一致するルールを調べられます。

追跡をやめると判断した場合は、git rm --cached -- path/to/fileでリポジトリからの削除をステージします。ローカルのファイルは残ります。変更内容を確認してからコミットしてください。

個人のエディター設定はどこに置く?

チーム共通のルールはプロジェクトの.gitignoreへ、個人だけの除外は.git/info/excludeなどへ分けると管理しやすくなります。VS CodeやJetBrainsの共有設定は一括で除外せず、個人の履歴や作業状態に絞っています。

構成別の.gitignore例

Next.jsの構成

Node.jsの依存関係、Next.jsの出力、macOSのメタデータを除外。ロックファイルは保持します。

生成ツールに戻る
# LightNode Gitignore生成ツールで作成
# プロジェクトに追加する前にルールを確認してください。

# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.pnpm-store/
coverage/
.nyc_output/

# Next.js
.next/
out/
.vercel/
*.tsbuildinfo

# macOS
.DS_Store
._*
.Spotlight-V100/
.Trashes/

Pythonの開発環境

Pythonの仮想環境・キャッシュに、VS Codeの履歴とLinuxのバックアップを追加。

生成ツールに戻る
# LightNode Gitignore生成ツールで作成
# プロジェクトに追加する前にルールを確認してください。

# Python
__pycache__/
*.py[cod]
.venv/
venv/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
*.egg-info/

# VS Code
.history/
*.vsix

# Linux
.Trash-*/
*~

JavaとIntelliJ

MavenとGradle、JetBrainsの個人データ、Windowsのメタデータを含みます。使わないビルドツールは外してください。

生成ツールに戻る
# LightNode Gitignore生成ツールで作成
# プロジェクトに追加する前にルールを確認してください。

# Java / Maven
*.class
target/

# Gradle
.gradle/
build/

# JetBrains
.idea/workspace.xml
.idea/tasks.xml
.idea/shelf/
.idea/httpRequests/

# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/

作成前によくある疑問

ルールの順序や重複は変わりますか?

テンプレートは固定順で並び、独自ルールは最後に追加されます。同じ優先度では後の一致が有効になるため、重複削除や並べ替えは行いません。構成の切り替えでは独自ルールが残り、すべてクリアでは両方が消えます。

特定のログだけ残すには?

/logs/*の後に!/logs/keep.logを指定します。親ディレクトリ自体を/logs/で除外すると、その中のファイルは再び含められません。

環境変数のサンプルも除外されますか?

環境ファイルのテンプレートは.env.env.*を除外しますが、.env.example.env.sampleは残します。サンプルには仮の値だけを記載してください。過去のコミットにある秘密情報は削除されません。

ロックファイルはコミットできますか?

package-lock.json、yarn.lock、pnpm-lock.yaml、Cargo.lock、composer.lock、Gemfile.lockは除外しません。アプリかライブラリかなど、プロジェクトの方針に合わせて判断してください。

入力したルールは保存されますか?

生成はブラウザー内で完結します。リポジトリの送信、生成APIの呼び出し、独自ルールの永続保存やURLへの埋め込みは行いません。

Git公式の除外ルール仕様