清空Git历史提交重置为新库
在学会使用GitLab写博客之后,一直工作良好,但是今天发现仓库越来越大,编写博客时速度也越来越慢,原因在于每次commit后git都会形成一个快照,于是除了必备的Hexo部分外这个.git
文件夹也是变的越来越大,这个才是导致仓库变大的主要原因,而作为写博客来讲,我是不需要使用commit切换回某个状态的,于是决定重置一下仓库。
创建新分支
1
git checkout --orphan latest
使用
--orpha
选择,可创建1个无任何提交历史的清洁分支。新分支可以随意命名,但不要与以前的名冲突,只是网上乱七八糟的文章都相互抄袭,使用master
而己,这是github的默认命名,而gitlab的默认名就是main.添加所有文件
1
2
3git add .
or
git add -Acommit代码
1
git commit -m "重置仓库"
删除原来的主分支(main)
1
git branch -D main
将当前分支重命名为main
1
git branch -m main
推送代码到远程仓库
1
2git branch --set-upstream-to=origin/main main
git push -f origin main注意:默认gitlab开启了main分支保护,不允许强制push, 此时需要在远程仓库项目时暂时把项目保护关闭才能推送。关闭项目保护的方法:
Settings
→Repository
→Protected Branches
, 在强推成功后一定要重新添加分支受保护。从远程拉取新代码(测试之用)
如果别人pull不下来,可以执行1
git pull
1
git pull -r
确定清除历史记录的结果
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15# 查看提交日志
git log --pretty=oneline
# 查看分支信息
# 列出所有本地分支
$ git branch
# 列出所有远程分支
$ git branch -r
# 列出所有本地分支和远程分支
# $ git branch -a
# 查看 tag 信息
# 查看本地标签
git tag
# 查看远程标签
git ls-remote --tags