A volte capita che si possano inserire alcuni dati sensibili (tipo password, chiavi private, ecc.) all’interno di un repository e che ci si accorga solo dopo molte modifiche, commit e diverso tempo che queste informazioni segrete non dovevano essere rese pubbliche.
Come rimediare? Innanzitutto, io ho installato GitGuardian che mi avvisa se ho commesso un errore del genere, ma non rimuove il codice segreto che devo tenere nascosto. Cosa fare quindi?
On line si possono trovare diverse guide su come eliminare il singolo commit incriminato, ma, sulla base della mia esperienza, trovo molto più comodo ripristinare tutto il repository e ricominciare da capo.
Per prima cosa apriamo il nostro terminaleed entriamo nella cartella del progetto
cd project
Eliminamo la cartella .git
rm -rf .git
Inizializziamo il repository
git init
Aggiungiamo i file al nostro repository locale
git add .
Quindi facciamo il commit
git commit -m "commit di codice pulito"
A questo punto diciamo a git qual è il percorso verso cui deve inviare il commit
git remote add origin "url-remote-repository"
Infine confermiamo l’invio con il sguente comando:
git push --force --set-upstream origin master