首页 > 解决方案 > 如何删除 Azure Git 推送历史记录?

问题描述

我不小心在 Azure DevOps 中向 git 提交了错误的凭据。

为了修复它,我跑了git filter-branch并用力推。

但是,当我查看 Azure DevOps gui 时,它会说:

Authored On
Committed On
Pushed On

当我单击“Pushed On”时,它会显示已更新的 refs,并允许我查看包含旧凭据的原始提交。

我怀疑 Azure DevOps 是从 reflog 中得到的。

有没有办法删除这些额外的信息?

您可以使服务器上的 reflog 过期吗?

标签: gitazure-devops

解决方案


除非您删除存储库并将修改后的版本推回同名的新存储库,否则(目前)似乎没有办法。

Azure 社区站点上已在此案例中回答了类似的问题。

用他的话说:

因为 git 是分布式的,一旦您签入敏感信息,您应该假设它已被泄露并更改它。在此时间范围内,任何人都可以在您不知情的情况下克隆存储库或访问提交。我们不会垃圾收集我们的提交数据,因此您是正确的,您可以在“删除”后进入系统内的提交。我们不提供在 Azure DevOps 中永久删除提交的方法。


推荐阅读