从 Git 历史记录中删除包含一些敏感数据的文件

问题描述

如何从 Git 历史记录中删除 appsettings.json 文件

我已经在 Git 中应用了这个命令:

$git filter-branch --index-filter 'git rm --cached --ignore-unmatch appsettings.json' HEAD

但它不适用于此版本的 Git(2.30.0.windows.1)

我该如何解决

如果我想用 git-filter-repo 代替 git-filter-branch,我该如何安装和使用它?

$git filter-branch

解决方法

我用过 bfg-repo-cleaner

请按照以下步骤操作:

1- 在您的系统上安装 Java(对我来说是 Windows 10)。

2- 下载 bfg-repo-cleaner。 我已下载 bfg-1.13.1 并将其放置在项目文件夹中。

3- 在 Git Bash 中输入以下命令:

java -jar bfg-1.13.1.jar --delete-files appsettings.json

执行后可以看到如下信息: executing bfg command

4- 最后输入 Git Bash 这个命令:

$ git pull
$ git push