すでに追跡されているファイルを Git から除外する方法
.gitignore を書く前に誤ってコミットしてしまった設定ファイルや機密ファイルを、履歴を整理して管理対象から外す決定版ガイド。
Git ignore ファイルの構文ルール、ワイルドカードの仕組み、トラブルシューティングを体系的に解説。
.gitignore を書く前に誤ってコミットしてしまった設定ファイルや機密ファイルを、履歴を整理して管理対象から外す決定版ガイド。
ワイルドカード glob、先頭・末尾スラッシュの役割、! 否定ルールの注意点、文字範囲指定など Git 除外パターンの全容を解説。
フォルダ除外のルール:末尾スラッシュのセマンティクス、ルート相対パス、サブディレクトリ、空フォルダ保持の仕組みを分かりやすく解説。
人気言語、バックエンドフレームワーク、ゲーム開発、モバイルアプリ、コンテナ環境向けの実践的な除外設定例を厳選紹介。
.gitignore の書き方、キャッシュ削除、リポジトリ管理に関するエンジニアの疑問に回答します。
.gitignore はこれから新しく追加される未追跡ファイルにのみ作用します。すでにコミット済みのファイルは、'git rm --cached <ファイル名>' でインデックスから除外するまで追跡され続けます。
'git check-ignore -v <ファイルパス>' コマンドを実行してください。マッチしている .gitignore ファイル名と行番号が出力されます。
Git は親フォルダが除外されていると、内部の走査をスキップするためです。'folder/*' のようにフォルダ配下の要素を除外した上で '!folder/file.txt' を指定する必要があります。
'build/' はディレクトリのみにマッチします。スラッシュのない 'build' は通常ファイルとディレクトリの両方にマッチします。
Git は空ディレクトリを追跡できないため、フォルダ内に .gitkeep という空ファイルを配置し、'folder/*' で中身を除外した上で '!folder/.gitkeep' を例外指定するのが標準的な手法です。
'git config --global core.excludesFile ~/.gitignore_global' を使用してグローバル除外設定を作成してください。共有リポジトリを汚さずに自分専用の除外設定が可能です。