如何清理 Git 历史中的敏感信息并重建主分支
在日常开发过程中,难免会有误将敏感信息(如账户、密码等)提交到代码仓库的情况。即使后续删除了相关内容,这些数据依然可能通过历史提交被检索到,存在安全隐患。为彻底移除敏感数据,可以通过重建分支的方式,生成一个没有历史记录的新主分支。以下是具体操作步骤:
1. 新建一个无历史的分支
使用如下命令创建一个没有任何提交历史的分支:
git checkout --orphan new_main
2. 添加并暂存所有文件
将当前目录下的所有文件添加到暂存区:
git add -A
3. 提交当前更改
提交所有已暂存的文件:
git commit -m "init: clean history"
4. 删除原有主分支
移除原有的主分支(如 master
或 main
):
git branch -D master
5. 重命名新分支为主分支
将新建的分支命名为主分支:
git branch -m master
6. 强制推送到远程仓库
将本地的新主分支覆盖远程仓库:
git push -f origin master
结语
通过上述操作,主分支的历史记录将被清空,敏感信息也随之移除。此时,远程仓库的主分支就像是全新初始化的一样,安全性大大提升。请注意,强制推送会覆盖远程分支,务必提前备份重要数据。