gpt4 book ai didi

git - 如何正确删除推送到 Git 存储库的敏感数据?

转载 作者:IT王子 更新时间:2023-10-29 01:02:13 24 4
gpt4 key购买 nike

我错误地将包含密码的文件推送到我的存储库 - 仅供引用,存储库只是一个小的个人项目。

一旦我意识到密码存在,我就将文件添加到 .gitignore并执行 git rm -r --cached <filename> ,提交并推送到 repo 。

我现在意识到密码仍然存在于历史记录中 - 删除密码的最佳方法是什么?

我读了Remove sensitive data Github 上的页面建议更改密码 - 我已经完成了 - 但我也想删除历史记录。

最佳答案

由于自包含明文密码的提交以来您已经进行了 5 次提交,因此最好的办法是在本地分支上以交互模式执行 git rebase -i。找到您添加明文密码的提交的 SHA-1,然后键入以下内容:

git rebase --interactive dba507c^

其中 dba507c 是错误提交的 SHA-1 的前 7 个字符。

改变这个:

pick dba507c comment for commit containing clear text password

对此:

edit dba507c I have removed the clear text password

更改密码文件以删除明文,然后像这样提交结果:

git commit --all --amend --no-edit
git rebase --continue

完成 rebase ,然后通过以下方式将您的(正确的)本地分支推送到远程:

git push -f origin your_branch

您将需要强制推送 your_branch,因为您已经重写了历史记录(通过修改密码文件)。现在您拥有了所有最新的提交,但您已经删除了明文。

关于git - 如何正确删除推送到 Git 存储库的敏感数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29741476/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com