备忘贴:清理 Git 历史中的敏感信息并重建主分支

35 阅读1分钟

如何清理 Git 历史中的敏感信息并重建主分支

在日常开发过程中,难免会有误将敏感信息(如账户、密码等)提交到代码仓库的情况。即使后续删除了相关内容,这些数据依然可能通过历史提交被检索到,存在安全隐患。为彻底移除敏感数据,可以通过重建分支的方式,生成一个没有历史记录的新主分支。以下是具体操作步骤:

1. 新建一个无历史的分支

使用如下命令创建一个没有任何提交历史的分支:

git checkout --orphan new_main

2. 添加并暂存所有文件

将当前目录下的所有文件添加到暂存区:

git add -A

3. 提交当前更改

提交所有已暂存的文件:

git commit -m "init: clean history"

4. 删除原有主分支

移除原有的主分支(如 mastermain):

git branch -D master

5. 重命名新分支为主分支

将新建的分支命名为主分支:

git branch -m master

6. 强制推送到远程仓库

将本地的新主分支覆盖远程仓库:

git push -f origin master

结语

通过上述操作,主分支的历史记录将被清空,敏感信息也随之移除。此时,远程仓库的主分支就像是全新初始化的一样,安全性大大提升。请注意,强制推送会覆盖远程分支,务必提前备份重要数据。