4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

.gitignoreで機密情報を守る。

Last updated at Posted at 2022-10-01

はじめに

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をコピーアンドペーストします。
settings.py
from .local_settings import *  これの記述も忘れずに

# SECURITY WARNING: keep the secret key used in production secret!

SECRET_KEY = 'jlfkajlkjdfoaojunalnall&(&)'   →これを削除

local_settings.py

SECRET_KEY = 'jlfkajlkjdfoaojunalnall&(&')'    →ここにペースト

.gitignoreファイルに無視したいファイルを記述

最後に、.gitignoreファイルに
無視したいlocal_settings.pyファイルを記述する。

.gitignore

mysite/local_settings.py

おわりに

以上で完了。
これでGitはlocal_settings.pyファイルを無視してくれるようになりました。

SECRET_KEY以外にも、APIを実装する際のAPIキーやデータベース情報、クラウドの情報などGit上に上げてはいけない機密情報を無視してほしい時にこの方法を用いる事ができます。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?