2012-06-10 34 views
7

我有一個本地的git倉庫,我已經完成了很多工作,並提交了一些我想保留的提交。不幸的是,雖然代碼是合理的可重用的,但我在一個非常早的提交中包含了一些敏感數據(數據庫名稱/用戶/密碼)。我想改變整個歷史,將敏感數據匿名化,同時保留一般的歷史結構。這可能嗎?如果是這樣,怎麼樣?匿名化本地git存儲庫?

回答

6

我認爲這將有助於:

+0

是的。歷史重寫是關鍵。我做了一個備份回購(以防萬一),然後運行'git filter-branch --tree-filter'sed -i's/sensitive data/clean data/g *'HEAD',並且從整體上刪除了所有內容樹。感謝指針! – naught101

0

從資源庫中刪除,然後提交。然後您需要壓縮從添加文件到刪除文件時的所有提交。你可以看到關於here的一個很好的解釋,簡單地建議使用git rebase -i

+0

我知道我可以壓縮提交,但是這將刪除我正在談論的歷史。 – naught101