欢迎光临
我们一直在努力

开源必备:Git 仓库敏感日志文件清理与脱敏教程

在做个人项目的时候,有时为了开源需要对数据进行脱敏,尤其是一些log文件。

先确认代码里还有没有其他“XXX”?

执行这条精准排除命令:

git grep -w "XXX" $(git rev-list –all)":!*.log"

如果没有输出,证明没有包含相关字符串的文件,如果有输出则需要进行如下操作,彻底删除文件的历史。

⚠️警告,以下操作会改写所有 Commit 的 Hash 值,必须强制推送!

1.在项目根目录执行清洗命令

git filter-branch –force –index-filter \\
'git rm –cached –ignore-unmatch "*/hs_err_pid*.log"' \\
–prune-empty –tag-name-filter cat — –all

执行过程中终端会疯狂滚动 “Rewriting …”,耐心等待即可。

2. 清理 Git 内部备份

rm -rf .git/refs/original/
git reflog expire –expire=now –all
git gc –prune=now

3. 防止再次犯错,在 .gitignore 中永久屏蔽

# JVM 崩溃日志
hs_err_pid*.log
*.log

4.删除本地log文件,强制推送覆盖远程仓库

# 删除当前文件
git rm –force hs_err_pid*.log
git add .gitignore
git commit -m "chore: 删除误上传的JVM崩溃日志 + 屏蔽所有.log文件提交"
git push origin –force –all

5.验证是否彻底干净

git grep -w "XXX" $(git rev-list –all)

如果没有任何输出,则大功告成。

赞(0)
未经允许不得转载:171主机测评 » 开源必备:Git 仓库敏感日志文件清理与脱敏教程
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址