共有するファイルと、生成し直せるファイルを分ける
.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例
# 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/
# LightNode Gitignore生成ツールで作成
# プロジェクトに追加する前にルールを確認してください。
# Python
__pycache__/
*.py[cod]
.venv/
venv/
.pytest_cache/
.mypy_cache/
.ruff_cache/
.coverage
htmlcov/
*.egg-info/
# VS Code
.history/
*.vsix
# Linux
.Trash-*/
*~
# 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への埋め込みは行いません。
