清除git历史commit记录

date
Apr 16, 2022
slug
clean-git-commit-history
status
Published
tags
Git
summary
如何清除git历史commit记录
type
Post

背景

最近需要使用原有的一些项目作为新项目的模版,但是又不想之前的git commit 记录继续保留,因此需要将项目之前的git 所有历史提交记录清除。
 

方案:

1. 新建分支

语法: git checkout --orphan <new_branch>
使用 —orphan 表示创建一个 “干净” 分支,相当于从当前分支切一个新的分支出来,但是不保留任何历史提交记录。 new_branch 为新分支名,注意别于之前的分支有重名。
 

2. 添加所有文件

git add .
 

3. 提交文件

git commit -m "提交说明"
 

4. 删除原有主分支(master)

git branch -D master
 

5. 将当前分支重命名为master

git branch -m master
 

6. 将代码推送到远程仓库

git push -f origin master
这里需要注意,有些仓库对master分支又暴露,不允许强制推送,因此需要在仓库设置里面将分支保护关掉才可以继续推送。
另外,推送之前,可以使用 git remote -v 查看关联的远程仓库的信息,因为远程仓库可以设置别名,不一定是 origin
 
以上就是大致的步骤流程。

© xk_wan 2021 - 2024