はじめに
Djangoを学習した手の時にGitHubにpushした際に以下のようなメールが届いた。
どうやらDjangoののSecretKeyをGitHub上にアップロードしてしまったのがいけなかったらしい。
慌てて消そうとしたが該当箇所を削除するだけで解決する問題なのかわからず、色々調べたところ、.gitignoreで指定したファイルをGit上にあげないようにする事ができるらしい。
今回はその方法について書いていく。
本記事では初心者向けに手順にのみ絞って記述していくので、細かい説明は割愛する。
.gitignoreファイルを作成する。
まず.gitignoreファイルをmanage.pyファイルと同じ階層に作成してみましょう。
(※mysiteの中のsettings.pyファイルの中に作成しても構わないが、import部分が本記事と微妙に変わるので初心者の方にはおすすめしません。)
ターミナル上で以下のコマンドを実行する、もしくは手動で.gitignoreファイルを作成してください。
(venv) labokgs@MacBookAir mysite % touch .gitignore
作成後のディレクトリ構成は以下のようになると思います。
mysite/
.gitignore
manage.py
mysite/
__init__.py
settings.py
urls.py
asgi.py
wsgi.py
settings.pyファイルとlocal_settings.pyファイルに変更を加える。
次にsettings.pyファイルと同じ階層にlocal_settings.pyファイルを作成し、settings.pyファイルのSECRET_KEYをコピーアンドペーストします。
from .local_settings import * →これの記述も忘れずに!
# SECURITY WARNING: keep the secret key used in production secret!
SECRET_KEY = 'jlfkajlkjdfoaojunalnall&(&)' →これを削除
SECRET_KEY = 'jlfkajlkjdfoaojunalnall&(&')' →ここにペースト
.gitignoreファイルに無視したいファイルを記述
最後に、.gitignoreファイルに
無視したいlocal_settings.pyファイルを記述する。
mysite/local_settings.py
おわりに
以上で完了。
これでGitはlocal_settings.pyファイルを無視してくれるようになりました。
SECRET_KEY以外にも、APIを実装する際のAPIキーやデータベース情報、クラウドの情報などGit上に上げてはいけない機密情報を無視してほしい時にこの方法を用いる事ができます。