“Ops, enviei um commit com algo confidencial para um projeto público do GitHub!”
Então, você acidentalmente enviou um commit com algumas credenciais. Você devia se envergonhar.
Aqui está uma solução potencial:
Tornar o repositório GitHub privado
Renomeie o repositório, talvez apenas anexe “-backup”
Anote os cometimentos ofensivos
Corre git fetch --all
Crie um novo repositório GitHub com o mesmo nome. Isso interromperá o aliasing automático que o GitHub faz quando você renomeia um repositório
Faça todos os tipos de rebasee / ou filter-branchlocalmente para garantir que as credenciais não existam em nenhum commit. Isso pode demorar um pouco se você precisar rebase mais do que alguns commits.
Execute a coleta de lixo git: git gc --aggressive
Certifique-se de que nenhum dos SHAs ofensivos exista, você pode apenas grep dentro do .gitdiretório de seu repositório local.
Execute git push --all -fpara enviar todos os branches, supondo que você já os tenha obtido na etapa 4.
Prevenindo isso no futuro
Diga à pessoa que o cometeu as consequências do que acabou de acontecer.
Mais importante, tente descobrir por que isso aconteceu, talvez eles estivessem com um prazo apertado e tenham ficado um pouco desleixados – acontece com os melhores de nós.
Tente armazenar credenciais em variáveis de ambiente, arquivos de configuração que são adicionados ao seu .gitignore, ou qualquer maneira de mantê-los fora do seu código.