0

我们在我们的 bitbucket 存储库中提交了一些密码,这违反了我们的组织安全策略,因此我使用 BFG Repo Cleaner通过在本地创建镜像然后将所有密码替换为Removed一词

 bfg --replace-text passwords.txt  my-repo.git

它完成了他们网站上描述的工作,密码确实被删除了!

令人惊讶的是它

  • 替换文件中的密码
  • 删除旧的提交
  • 然后进行一些新的提交,而不是根据旧的提交重写历史......

所以问题是仍然可以从指向旧提交的旧 bitbucket url 查看密码

我的问题是如何从 bitbucket 或 git 历史记录中删除已删除的提交?这反过来会阻止指向已删除/旧提交的 URL 显示我们打算删除的密码?

4

1 回答 1

0

解决方案是执行“git push --force ”来触发bitbucket的自动gc

但是 gc 可能会失败,bitbucket 正在改进,如果发生这种情况,您必须以管理员身份手动运行 repo 上的命令

git reflog expire --expire="1 hour" --all
git reflog expire --expire-unreachable="1 hour" --all
git prune --expire="1 hour" -v
git gc --aggressive --prune="1 hour"

注意:强制推送使远程与您的本地分支或主分支完全相同,从而确保在您更改本地工作树期间没有其他开发人员在处理它。

于 2017-06-01T10:08:42.437 回答