Come eliminare password e altro da un repo su Github

Oggi vi spiegherò come eliminare dati sensibili come password da un repository Github in modo veloce e facile.

Potreste chiedermi: “Per quale motivo hai messo delle password in bella vista su Github?”.

Effettivamente è una bella domanda.

In questi giorni mi sto trastullando con qualche script in Python e al momento sto lavorando su uno script che controlla il prezzo su Amazon di un articolo e mi manda un’email se il prezzo scende sotto ad un certo costo.

Per spedire le email sto usando Gmail e come ben saprete, per usare il servizio di Google è necessario inserire username e password.

Il repository che ho creato è privato, quindi solo io posso accederci e vedere il codice, ma nell’ottica di renderlo pubblico è sicuramente consigliabile rimuovere la password del mio account Gmail (nonostante abbia usato una password per le app, anche se ormai l’ho già distrutta).

Come si fa? Così:

  1. Create un file di testo, col nome che volete (esempio passwords.txt), con all’interno le parole chiavi da rimuovere. Importante! Le parole chiavi devono essere 1 per riga.
  2. Scaricate lo strumento BFG Repo-Cleaner
  3. Clonate il repo in una cartella (ad esempio C:\TEMP\repo_da_pulire) con il seguente comando:
git clone --mirror https://github.com/mlazzarotto/amazon-price-scraper.git

Ovviamente sostituite l’url con quello del vostro repo.

  1. Aprite una finestra Prompt o PowerShell e date il seguente comando sostituendo ovviamente il nome del file con le password da rimuovere e la cartella dove avete clonato il repo:
java -jar d:\mlazz\Downloads\bfg-1.13.0.jar --replace-text passwords.txt  my-repo.git
  1. Una volta eseguita l’operazione, per “pushare” le modifiche su Github date il comando seguente:

cd amazon-price-scraper.git

git reflog expire --expire=now --all && git gc --prune=now --aggressive

In questo modo avrete rimosso tutte le password scomode dal repository di Github e da tutti i commit precedenti.

Questo significa che se qualcuno dovesse andare a controllare la cronologia di tutti i commit precedenti che avete fatto, non troverà la password, ma la parola  “***REMOVED***”, come potete vedere nell’immagine qui sotto.

Dati sensibili rimossi da Github

Per informazioni o richieste d’aiuto contattatemi.

Quanto è stato utile questo post?

Clicca su una stella per votare!

Mi dispiace che questo post non ti sia stato utile!

Permettimi di migliorare questo post!

Dimmi come posso migliorare questo post!

Lascia un commento