Was ist der beste Weg, Konfigurationsdateien mit git zu behandeln?
-
20-08-2019 - |
Frage
Sagen Sie meine Anwendung eine Konfigurationsdateien im Klartext hat. Sie enthalten einige sensible Informationen, die die Anwendung in meiner Dev-Umgebung zu testen erforderlich ist. Ich verwende verschiedene OSes zugreifen und die Arbeit an meinen Projekten (Win, Mac, ...).
Ich habe nicht einen Teil der Informationen in den Konfigurationsdateien möge es zu meinem öffentlichen Git Repository zu machen. Im besten Fall möchte ich die sensible Informationen durch Platzhalter ersetzt werden und haben die Konfigurationsdateien in das Repository hochgeladen Überblick über ihre Struktur zu halten.
Wie würden Sie nähern sich dem Problem?
Der Haken selbst würde nicht viel von einem Problem für mich zu schreiben. Ich bin mehr daran interessiert, wie sie alle zusammen, möglich Verzeichnisstruktur zu binden, etc. Ich ganz neu bin git.
Lösung
Es gibt eine Konvention in der Django Welt gefolgt, die Sie nutzen könnten - es ist eine Standard-settings.py
Datei, die einen local_settings
Modul am Ende importiert, wenn ein solcher vorhanden ist
Haben Sie alle Ihre geheimen Sachen in dieser local_settings.py
Datei und fügen Sie es so .gitignore
, dass es nicht in das Repository geht. Auf diese Weise werden die Menschen wissen, dass sie ihre eigenen Einstellungen zu local_settings
hinzufügen können.
Beispiel:
settings.py
:
DATABASE_USERNAME = 'your username here'
DATABASE_PASSWORD = 'your password here'
local_settings.py
:
DATABASE_USERNAME = 'my top secret username'
DATABASE_PASSWORD = 'my top secret password'
Der beste Teil ist, dass alles, was Sie in settings.py
definiert haben, werden mit dem gleichen Namen in local_settings.py
überschrieben bekommen.