首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >意外提交的敏感信息- GitLab

意外提交的敏感信息- GitLab
EN

Stack Overflow用户
提问于 2018-11-30 15:24:32
回答 1查看 4.4K关注 0票数 4

我不小心提交了一个带有敏感数据的文件。我需要通过删除敏感数据来更新该文件,并确保旧版本不会出现在历史记录中。

据我所知,那些在当地克隆回购产品的人仍然可以使用它。但是,一旦他们拉动了最新的数据,它是否能够被设置成不会看到敏感数据向前移动,或者无法在日志中看到它?

EN

回答 1

Stack Overflow用户

发布于 2018-11-30 16:00:40

您可以从历史记录中删除敏感数据。正如您注意到的,任何已经提取当前历史记录的现有克隆都将拥有该文件。这些repos必须“修复”才能继续使用远程(请参阅git rebase docs-https://git-scm.com/docs/git-rebase-在“从上游重基中恢复”下)。即使在修复之后,如果用户愿意的话,这些回购的用户仍然能够获取数据。(事实上,没有什么能阻止他们在修复之前复制这些数据,即使您确实有了一个修复过程,可以强制从他们的克隆中删除数据。)

考虑到这一点,您确实需要将这些数据视为已泄露的数据。例如,如果是密码,则更改密码。

考虑到这一点,改写历史可能是不值得的。如果敏感数据的类型无法更改,而您所能做的就是减少现有漏洞并试图防止其进一步扩散,那么历史编辑就有价值,因为它阻止新克隆进一步公开数据。但是如果是密码,那么更改密码就会使旧密码是否保留在源历史记录中变得无关紧要--所以它可能不值得修改。

如果要重写历史记录,可以使用几个工具,具体取决于历史记录受影响的程度。这里多次讨论了所有这些问题的详细程序,但总括而言:

  • 如果这只是一两次推荐中的最近一次提交,那么可以使用git commit --amend
  • 如果提交是一个简单的线性历史(而且可能不是非常长的历史记录),则可以执行交互式重基来编辑引入敏感数据的提交。
  • 对于历史不太大的更复杂的情况,可以将git filter-branch与树筛选器或索引筛选器结合使用。
  • 有专门的工具,你可以使用,如BFG回购清洁剂。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53560337

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档