スポンサーリンク
Python

【Python】.envファイルは .gitignore に絶対追加しよう!その理由と対処法

Python
この記事は約3分で読めます。

Pythonで開発していると、.envファイルを使って環境変数を管理することがよくありますよね。でも、そのままGitにコミットしてしまうと大変なことに…! この記事では、.envファイルを.gitignoreに追加すべき理由と、うっかりコミットしてしまったときの対処法を紹介します。

💡 .envファイルとは?

.envファイルは、アプリケーションの設定や機密情報を環境変数として定義するためのファイルです。Pythonでは python-dotenv ライブラリを使って読み込むのが一般的です。

# .env
DATABASE_URL=postgres://user:password@localhost:5432/mydb
SECRET_KEY=supersecretkey
from dotenv import load_dotenv
import os

load_dotenv()
db_url = os.getenv("DATABASE_URL")

🚨 .envをGitに含めてはいけない理由

.envファイルには以下のような機密情報が含まれることが多いです:

  • データベースのパスワード
  • APIキーやトークン
  • シークレットキー

これらがGitにコミットされてしまうと、リモートリポジトリ(GitHubなど)に公開される可能性があります。たとえ非公開リポジトリでも、共有や漏洩のリスクはゼロではありません。

✅ .gitignoreに追加しよう!

.envファイルをGitの追跡対象から外すには、.gitignoreに以下を追加します:

.env

これで、.envファイルはGitに無視され、コミットされなくなります。

🧼 うっかりコミットしてしまったら?

すでに.envをコミットしてしまった場合は、以下の手順で対処しましょう:

# Gitの追跡対象から外す
git rm --cached .env

# .gitignoreに追加
echo ".env" >> .gitignore
git add .gitignore
git commit -m "Remove .env from repo and add to .gitignore"

※ すでにGitHubなどにプッシュしてしまっている場合は、履歴からの削除が必要です。git filter-branch や BFG Repo-Cleaner (rtyley.github.io in Bing) の使用を検討しましょう。

🎁 おまけ:.env.exampleを作ろう!

チーム開発や公開リポジトリでは、.envの代わりにサンプルファイルを用意すると親切です。

# .env.example
DATABASE_URL=your_database_url_here
SECRET_KEY=your_secret_key_here

🌊 まとめ

  • .envには機密情報が含まれるので、絶対にGitに含めない!
  • .gitignore.envを追加するのを忘れずに!
  • うっかりコミットしたら、すぐに対処しよう!

安全でスマートな開発のために、環境変数の管理はしっかりやらないとだめですね💪✨

コメント

タイトルとURLをコピーしました