摘要:在不删除原仓库的前提下,清除原仓库的所有历史提交记录。
1.创建新分支
语法:
1 | git checkout --orphan <new_branch> |
使用 –orphan 选项,可创建1个”清洁”分支(无任何的提交历史,但是当前分支的内容一应俱全。但严格意义上说,这样创建的分支还不是一个真正的分支,因为HEAD指向的引用中没有commit值,只有在进行一次提交后,它才算得上真正的分支。
注意:
新的分支名可以随意命名,但不能和以前的分支名冲突。这儿特别强调是因为很多人习惯默认将分支名创建为 master.
本文以 latest_branch 作为新分支名,这个名称没有任何特殊含义,你可自定义,只要保证和以后的使用一致即可。
2.添加所有文件
1 | git add . |
3.commit代码
1 | git commit -m "自定义提交说明" |
4.删除原来的主分支(master)
1 | git branch -D master |
一般仓库默认的主分支为 master 分支,如果原来的主分支不是 master, 用实际的主分支名代替。
5.把当前分支重命名为 master
1 | git branch -m master |
6.最后把代码推送到远程仓库
注意: 有些仓库有 master 分支保护,不允许强制 push,需要在远程仓库项目里暂时把项目保护关掉才能推送。
1 | git push -f origin master |
注意: 推送前 需要使用 git remote -v 查看关联的远程仓库的信息(主要是远程库的别名)。虽然远程库的别名默认是 origin ,但你可能设置过其他的别名(而非 origin).
推送前,有的情况需要设置:
1 | git branch --set-upstream-to=origin/master master。 |
7.从远程库拉取更新代码(测试)
1 | git pull |
8.确定清除历史记录的结果
1 | 1、查看提交日志 |
- 本文作者: th3ee9ine
- 本文链接: https://www.blog.ajie39.top/2022/06/19/git——清除所有历史提交记录/
- 版权声明: 本博客所有文章除特别声明外,均采用 LICENSE 下的许可协议。转载请注明出处!