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?
7
A
risposta
6
penso che questo vi aiuterà:
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
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