2012-06-10 17 views
7

Ho un repository git locale su cui ho lavorato un bel po ', con un numero di commit che mi piacerebbe mantenere. Sfortunatamente, mentre il codice è ragionevole riusabile, ho incluso alcuni dati sensibili (nomi di database/utente/password) in un commit molto precoce. Vorrei modificare l'intera cronologia per anonimizzare i dati sensibili, pur mantenendo la struttura generale della cronologia. È possibile? Se é cosi, come?Anonimizza un repository git locale?

risposta

6

penso che questo vi aiuterà:

+0

Sì. La riscrittura della storia è la loro chiave. Ho creato un repository di backup (per ogni evenienza), quindi ho eseguito 'git filter-branch --tree-filter 'sed -i" s/dati sensibili/clean data/g *' HEAD', e questo ha rimosso tutto dall'intero Grazie per il puntatore! – naught101

0

rimuoverli dal repository, quindi commit. È quindi necessario schiacciare tutti i commit da quando i file sono stati aggiunti quando sono stati rimossi. Puoi vedere una buona spiegazione a riguardo di here che suggerisce di utilizzare git rebase -i.

+0

Sono consapevole di poter schiacciare i commit, ma questo rimuoverà la storia di cui stavo parlando. – naught101

Problemi correlati