天天看点

Git之清除历史记录操作

近期公司需要将之前代码仓库中的提交记录都清理,所以操作一下,记录一下步骤:

安全考虑:

有时候在提交代码时,不小心提交了敏感数据,如账号密码什么的,这样在历史记录中就可以查看到,这样很不安全,所以就需要吧历史提交记录删了,变成一个新的仓库。

1.创建一个新的分支(孤儿分支)

git checkout --orphan latest_branch      

2.添加所有文件

git add -A      

3.提交更改

git commit -am "commit"      

4.删除需要替换的分支

git branch -D master      

5.重命名创建的分支为删除的分支

git branch -m master      

6.强制提交到远程仓库

git push -f origin master      

常见问题:

一般情况下,如果是清理master分支的话, gitlab默认中会是受保护的, 不允许强制提交

remote: GitLab: You are not allowed to force push code to a protected branch on this project.      

解决:

开启允许强制推送即可

  

Git之清除历史记录操作