清除源中推送的机密数据的历史记录?

Roy*_*mir 7 git

前一段时间,我们推送了一些app.settings包含敏感数据的文件,例如连接字符串。

那是很久以前的事,从那时起,我们已经删除了(通过推送新版本),其中不包含敏感数据。

但是,如果有人尝试查看app.settings的历史记录-他将看到连接字符串。

我如何使密码即使在历史记录查询中也不存在。另外-我不想看到connection strings与一次提交之后相比已被删除。

说明:我不想删除文件,仅删除几行。

可视化:

2017年-提交- connectionstring=***,***
2018 -提交-除去connectionstring=***,***
2019 -提交的histroy,我会看到敏感数据。

我想删除2017年的敏感行,但我不想看到2018年现在少了几行(敏感数据将在diff imho中显示)。

Von*_*onC 5

这是GitHub帮助页面“ 从存储库中删除敏感数据 ”中描述的经典案例。
如前所述,它将涉及重写,然后强制推送Git存储库的整个历史记录。

但是考虑到Git的分布式特性,其他人可能已经克隆了您的存储库(的旧版本)。

这意味着主要建议是:首先,现在更改您的连接凭据。
确保旧版本的敏感数据不再敏感

然后,您可能会担心清理存储库的历史记录。