1. ローカル値を除外して例を残す
ルートの .gitignore に次のルールを置きます。ルートの .env と .env. で始まるファイルを除外し、.env.example を再び対象にします。service.env のような名前や下位ディレクトリのファイルには適用されません。
コミット前に .env.example の内容を確認してください。例という名前でも公開して安全とは限りません。値はプレースホルダーにし、必要な変数を説明します。
/.env
/.env.*
!/.env.example 2. 3つのケースを確認する
未追跡の .env、.env.local、.env.example を用意し、それぞれの一致ルールを確認します。
git check-ignore -v -- .env .env.local .env.example!/.env.example は例を再び対象にするルールです。状態表示では例だけが現れ、ローカル値の2ファイルは現れないはずです。除外された親ディレクトリや後のルールで結果が変わることもあります。
git status --short --untracked-files=all -- .env .env.local .env.example 3. すでに追跡されている値に対処する
ローカル値のファイルが追跡済みかを確認します。
git ls-files -- .env .env.localパスが表示されたら追跡済みファイルの記事に従い、共同作業者と調整してください。.gitignore の追加では過去のコミットは消えません。認証情報が漏れた場合は、まず失効またはローテーションを行い、GitHub の機密データ対処手順を参照します。現在のファイルを削除するだけでは履歴は消えません。
正確な動作や詳細は、公式の資料を参照してください。 Git のドキュメント · Git の公式 FAQ · GitHub の機密データ対処手順