VAZEI MEUS DADOS!! E AGORA?!? Veja como remover dados confidenciais commitados.

Fiz a besteira, e subi arquivos com chaves e informações confidênciais, e agora?

Graças ao sensacional curso.dev aprendi o que fazer! Para quem quiser saber como eu fiz para apagar os traços dos commits (do inicial, e do diff do commit de "correção"): Usei o BFG Repo-Cleaner para corrigir meu repositório que havia dados sensíveis em dois arquivos: .env e cred.json

1 - Baixei o arquivo .jar do BFG Repo-Cleaner do repositório e coloquei na mesma pasta que clonarei o projeto.

2 - Clonei meu repositório com o --mirror: git clone --mirror git://example.com/repo_problematico.git

3 - Apaguei os arquivos com os comandos: java -jar bfg-1.14.0.jar --delete-files cred.json repo_problematico.git e java -jar bfg-1.14.0.jar --delete-files .env repo_problematico.git

4 - entrar na pasta do repositório problemático: cd repo_problematico.git

5 - Rodar os comandos conforme a documentação do BFG: git reflog expire --expire=now --all && git gc --prune=now --aggressive

6 - git push

PRONTO!! Agora só trocar as chaves para dormir tranquilo e tudo está salvo E ninguém vai saber da canelada... (a não ser que eu vá no TabNews contar para o mundo todo...)

Cara, existe uma forma muito mais fácil de fazer isso - git filter-repo. Dá uma olhada aqui: https://github.com/newren/git-filter-repo

YGrillo, valeu pela dica! O Deschamps chegou a comentar sobre outra, mas q o BFG era mais simples. Alias, o BFG diz ter surgido para facilitar: > The BFG is a simpler, faster (10 - 720x faster) alternative to git-filter-branch for cleansing bad data out of your Git repository Na real, foi tão simples com o BFG que nem sei como seria mais fácil. eheheh Eu só falei os arquivos que queria apagar e fiz a mudança. Valeu!!

Vim do curso.dev, meio atrasado para engajar, mas nunca é tarde para parabenizar um bom conteúdo! Parabéns👌🏻😎

Achei isso no momento certo kkkkk, tava precisando

essas coisas acontecem kkkkk parabéns por resolver

Vim do curso.dev para parabenizar pelo conteúdo! 😁😁👍

interessante, mas notei falta de explicação sobre o processo que essa ferramenta faz para efetivamente limpar seu git.

quando leio um artigo busco coisas mais conceituais, a prática ajuda a consolidar e testar o que foi exposto.

mas será que devo usar esta estratégia sempre? quais os riscos da utilização indevida? porque isso funciona? quais as boas praticas que ele resolve?

@valkhantech, aí eu acho que tem que ir ler a documentação da [ferramenta](https://rtyley.github.io/bfg-repo-cleaner/) `BFG` e do `git` com mais atenção. Mas pelo que li, ele é basicamente um [`git filter-branch`](https://git-scm.com/docs/git-filter-branch) que roda com paralelismo, sendo `10 - 720x` mais rápido.

Pergunta de leigo: mas num é só voltar o commit até o ponto antes de commitar os dados e dar tipo um rebase?

Acredito que dessa forma, o arquivo/informação vazada ainda estará em algum galho; Quiçá perdido, mas ainda acessível para terceiros/bots.