2012-06-10 244 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