Claude Code ロードマップ
Phase 5GitHub7ステップ中 6つめ

.gitignore と .env

このページのゴール:上げてはいけないファイルがGitHubから除外されている

所要時間の目安: 15分動作確認日: 2026-08-05

⚠️ このページは、このサイトで一番強い警告です。

上げてはいけないものは、主にこの3つです。

そして、最重要のルールがこれです。

⚠️ 一度 push したものは、後で消しても履歴に残り続けます。 GitHub上で「削除」しても、過去のcommitをたどれば中身が見えてしまいます。 だから「上げてから消す」は通用しません。「最初から上げない」がすべてです。 それを仕組みで保証するのが、これから作る .gitignore です。

手順

1. 練習用リポジトリに移動する

5-5で作ったフォルダを使います。

ターミナルに貼り付ける
cd ~/dev/hello-github

2. 練習用の .env を作る

中身は練習用の偽物のキーです。本物のキーは絶対に書かないでください。

ターミナルに貼り付ける
echo "API_KEY=test123" > .env

3. 危険な状態を目で見る

ターミナルに貼り付ける
git status

Untracked files:(まだ記録していないファイル)の下に .env が出ています。 これが危険な状態です。このまま git add . すると、.env も上がってしまいます。

4. .gitignore を作って開く

まず空のファイルを作り、テキストエディタで開きます。

ターミナルに貼り付ける
touch .gitignore
ターミナルに貼り付ける
open -e .gitignore

5. 除外リストを貼り付けて保存する

開いた画面に次の内容を貼り付け、⌘S で保存して閉じます。

.gitignore に貼る内容
.env
.env.local
node_modules/
.DS_Store

「ここに書いた名前のファイルは、Gitは存在しないものとして扱え」というリストです。

6. 隠せたことを確認する

ターミナルに貼り付ける
git status

一覧から .env が消え、.gitignore だけが表示されていれば成功です。 もう git add . をしても、.env は二度と含まれません。

7. .gitignore 自体はcommitして送る

除外リスト自体はプロジェクトの一部なので、GitHubに含めます。

ターミナルに貼り付ける
git add .
ターミナルに貼り付ける
git commit -m ".gitignoreを追加"
ターミナルに貼り付ける
git push

✅ ここまで出来たらOK

確認コマンド
git status

期待される表示:.env が一覧に出ないまま、nothing to commit, working tree clean と表示される

そうならない場合 → エラー逆引きページ を見てください。

📖 出てきた言葉

環境変数environment variableカンキョウヘンスウ

アプリの動作に必要な設定値を、コードの外に置いたもの。.env ファイルに書くことが多い。 コードと秘密を分けられるから、コードを公開しても秘密は漏れない。

APIキーAPI keyエーピーアイキー

外部サービスを呼び出す時の合鍵になる文字列。持っている人は誰でもあなたとして使える。 漏れたら即悪用される。クレジットカード番号と同じ扱いで守る。

.gitignore.gitignoreギットイグノア

Gitに「これは記録しないで」と伝える除外リスト。リポジトリの一番上の階層に置く。 これがあるから、.env を手元に置いたまま安全にpushできる。

すでに .env を push してしまった

⚠️ 最優先は履歴の削除ではなく、キーの無効化です。 そのキーを発行したサービスの管理画面で、すぐに無効化・再発行してください。 履歴からの完全削除は難しい作業です。Claudeに状況を貼って相談してください。

.gitignore に書いたのに .env が表示され続ける

先にcommitしてしまったファイルは、後から .gitignore に書いても記録が続きます。 git rm --cached .env で記録の対象から外し、commitし直してください。 ファイル本体は手元に残るので安心してください。

今回のリポジトリは private なのに、なぜここまで警告する?

private でも、招待した人や連携したサービスからは見えます。 そして後から public に変えた瞬間、履歴ごと全世界に公開されます。 「privateだから大丈夫」を前提にしない癖を、今のうちに付けてください。