我们的团队不小心将一些个人信息以 H2 数据库文件的形式推送到了 Github。有什么方法可以从服务器中干净、完整地删除文件?
简单地做git rm xxx.db
似乎不是答案,因为人们可以很容易地git reset --hard
找到包含用户数据的头部。
另一方面,
git reset --hard [the head before the db file was committed]
Run Code Online (Sandbox Code Playgroud)
也不是我们的偏好,因为自数据库提交以来已经有超过 10 次提交。
我们应该怎么做才能删除该数据库文件?
阅读有关删除敏感数据的 GitHub 帮助。
运行以下命令以删除对整个存储库中文件的引用——这不会删除实际文件本身:
git filter-branch --force --index-filter \
'git rm --cached --ignore-unmatch <somefile>' \
--prune-empty --tag-name-filter cat -- --all
Run Code Online (Sandbox Code Playgroud)
(确保替换<somefile>
为要删除的文件的路径。)
将文件添加到您.gitignore
,然后git add
与git commit
该.gitignore
文件。
git push origin master --force
以获取上游的更改。还有一些步骤,包括清理存储库和写入 GitHub 本身以删除缓存数据。
归档时间: |
|
查看次数: |
4606 次 |
最近记录: |