Qual é a melhor maneira de lidar com arquivos de configuração com git?
-
20-08-2019 - |
Pergunta
Say minha candidatura tem arquivos de configuração em texto simples. Eles contêm algumas informações confidenciais que é necessário para testar o aplicativo no meu ambiente dev. Eu uso diferentes sistemas operacionais para acesso e trabalhar em meus projetos (Win, Mac, ...).
Eu não desejo algumas das informações nos arquivos de configuração para torná-lo ao meu repositório git pública. Na melhor das hipóteses eu quero a informações sensíveis a serem substituídas por espaços reservados e ter os arquivos de configuração enviados para o repositório para manter o controle de sua estrutura.
Como você abordar o problema?
O gancho em si não seria um grande problema para mim escrever. Estou mais interessado como unir tudo isso, possível estrutura de diretórios, etc. Eu sou muito novo para git.
Solução
Há uma convenção seguido no mundo Django que você poderia usar - há um arquivo settings.py
padrão que importa um módulo local_settings
no final, se houver um disponível
Tenha todas as suas coisas secretas nesse arquivo local_settings.py
e adicioná-lo à .gitignore
para que ele não vai para o repositório. Desta forma, as pessoas vão saber que eles podem adicionar suas próprias configurações para local_settings
.
Por exemplo,
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'
A melhor parte é que tudo o que você definiu no settings.py
terá substituído pelo mesmo nome em local_settings.py
.