2013-03-21 16 views
6

Ho un file che conteneva una volta le informazioni di configurazione sensibili. Sposto le informazioni di configurazione in un altro file che non è sotto controllo di versione. Voglio mantenere l'altro file sotto controllo di versione, ma voglio rimuovere la sua cronologia perché si può facilmente consultare l'origine su github e trovare le informazioni sensibili nei commit precedenti. Qual'è il miglior modo per farlo? Sto solo vedendo come rimuovere il file stesso dal controllo della versione e cancellare la sua cronologia.rimuovere i dati sensibili ma non i file dalla cronologia git

Un po 'nuovo da cedere, perdonate la novità.

+2

Domanda molto comune: http://stackoverflow.com/q/872565/1286639 – GoZoner

+0

Github ha un [post] (https://help.github.com/articles/remove-sensitive-data) per fare proprio questo . Controlla. –

risposta

3

Si potrebbe desiderare di guardare a questo articolo https://help.github.com/articles/remove-sensitive-data

dice Praticamente questo comando

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch Rakefile' \ 
    --prune-empty --tag-name-filter cat -- --all 

rimuoverà la storia della Rakefile da Git. Tuttavia, vanno avanti e aggiungono quel file al loro gitignore. Probabilmente dovresti saltare quella parte dal momento che vuoi mantenere il file nel controllo della versione.

+1

Una spiegazione di ciò che effettivamente fa sarebbe grandioso. – user3467349

+1

L'articolo collegato spiega come rimuovere un file. Il titolo della domanda dell'OP dice di non rimuovere un file. –

+0

@TylerCollier se leggi la mia risposta, afferma di non aggiungere il file a 'gitignore' dato che lo eliminerà dal controllo della versione. Ciò rimuoverà il file dalla cronologia consentendo così la rimozione dei dati sensibili. –

Problemi correlati