Uma vez resolvi passar um projeto django que fiz de fechado para aberto e acabei colocando as senhas que usava no servidor de emails no GitHub. É mole?
Bom, se o projeto é novo recomendo o seguinte, nunca coloque dados secretos no seu settings.py e dentro do git, inclusive o SECRET_KEY gerado.faça o seguinte, crie um arquivo settings_local.py na mesma pasta que o seu settings.py
Neste arquivo coloque toda a informação que você não quer que seja compartilhada, como por exemplo:
- SECRET_KEY
- EMAIL_HOST_PASSWORD (E outras configurações de Email)
- SOCIAL TOKENS (como para Facebook e Twitter)
- etc…
No final do seu arquivo settings.py importe tudo que estiver no settings_local.py:
try:
from settings_local import *
except ImportError:
pass
Agora você precisa adicionar o settings_local no .gitignore para que ele não seja enviado durante seus commits. Se você ainda não criou o arquivo faça o seguinte:
touch .gitignore
vim .gitignore
Dentro desse arquivo coloque o caminho relativo do seu settings.py, no caso <nome_do_app>/settings_local.py e depois adicione seu gitignore no git.
git add .gitignore
git commit -m "Ignorando o settings local"
Pronto, agora você consegue continuar programando sem se preocupar em colocar dados que não deveria em um projeto OpenSource.
Mas e se você já estava fazendo tudo sem isso e o resto dos dados estão todos no histórico do GIT? Você pode usar o BFG Repo-Cleaner ou o git-filter-branch.