Git がすでに追跡しているファイルを無視するには?

.gitignore にパスを追加しても、Git のインデックスにあるファイルは変わりません。インデックスから外し、コミットする変更を慎重に確認してください。

追跡済みであることを確認する

Git がすでにパスを追跡しているか調べます。

git ls-files -- path/to/file

パスが表示された場合、そのファイルは追跡済みです。適切なルールをプロジェクトの .gitignore に追加し、インデックス上のコピーだけを外します。

git rm --cached -- path/to/file

--cached はローカルの作業コピーを残します。コミット前に git status とステージ済みの差分を確認してください。このコミットを取得した共同作業者の作業ツリーではファイルが削除される場合があるため、必要に応じて調整してください。

ディレクトリの場合

追跡中のパスを確認したうえで、再帰的にインデックスから外すコマンドを実行します。

git ls-files -- path/to/directory
git rm -r --cached -- path/to/directory

秘密情報をコミットした場合

最新の状態から秘密情報を削除しても、過去の履歴は消えません。漏えいした認証情報を更新し、ホスティングサービスの対応手順に従ってください。後から追加する .gitignore は、今後の誤追加を防ぐ助けにしかなりません。

正確な動作や詳細は、公式の資料を参照してください。 GitHub のファイル除外ガイド