解説
.gitignoreを書いたのに残る?追跡済みファイルとの違い
無視する設定を足しても、すでにGitが管理しているファイルは別扱い。秘密情報を入れないための確認をしよう。

無視する設定を足しても、すでにGitが管理しているファイルは別扱い。秘密情報を入れないための確認をしよう。

図:ファイル削除やignore追加だけで、過去の履歴や漏えいした秘密は消えない。
無視するのは基本的に未追跡ファイル
.gitignoreは、管理したくない未追跡ファイルを指定するためのものだよ。すでにコミットした.envに後から設定を足しても、その履歴が消えたり追跡が自動で外れたりはしないんだ。
先に追跡状態を確認する
git ls-files -- .env
git check-ignore --no-index -v .env
前者はGitの追跡対象か、後者はどの無視ルールに当たるかを確認する例だよ。出力なしをエラーと決めず、それぞれ何を調べているか分けて読もう。
設定例は本物の秘密と分ける
.env.exampleには必要な項目名と説明用の値を置き、本物の秘密は別に保管しよう。新しくcloneした人が何を設定すればよいかわかる状態にすると、秘密を共有せずに構成を再現しやすいよ。
秘密を送ってしまった場合
ファイルを消すだけで終わらず、その秘密の失効や再発行、公開範囲、履歴への残り方を確認しよう。追跡を外す操作と、過去に漏れた秘密への対応は別だよ。履歴を書き換える作業は共同作業者への影響も確認してから進めようね。

みんなのコメント 0
感想や、試してみたことを聞かせてね。コメント・返信は承認後に公開されます。
最初のコメントをどうぞ。