前言
为什么要清空提交的历史记录呢 ?
在使用 Git 进行仓库代码管理的时候,难免不注意会提交一些隐私的信息,即使是后面删除了,但还是能够从 Git 的历史记录可以找的到以往提交的信息。而且大部分开发者都是使用 Public Repository 公开的仓库,别人 clone 下来的话,那么就会造成隐式信息的直接暴露。
解决方案
思路: 大致就是创建一个新的节点备份一下,然后删除原来的节点,再将新的节点完全覆盖推送到远端
需要使用到 orphan 命令
1
|
orphan 创建的节点,只有当前节点被添加的记录,不会有其他节点的历史提交信息 |
使用 git checkout –orphan new_branch ,基于当前分支创建一个独立的分支new_branch
1
git checkout --orphan new_branch
添加所有文件变化至暂存空间
1
git add -A
提交并添加提交记录
1
git commit -am "commit message"
删除当前分支
1
git branch -D master
重新命名当前独立分支为 master
1
git branch -m master
强制推送到远端分支 (会覆盖掉远端代码,小心使用)
1
git push -f origin master