git清空(除最后一次commit)commit和tag提交记录,降低.git文件夹大小,提升速度步骤记录
前言
.git文件夹很大,天天提交一些有的没得, commit记录对你没有什么用的时候可以清理文件夹,降低占用的空间,提升拉取代码的速度
操作者步骤
-
清理所有历史提交(只保留最新一次提交)
git rebase --root --onto HEAD -
创建一个新的孤立分支(不包含历史记录),并将最新的代码提交到这个新分支上
git checkout --orphan latest_commit -
添加所有文件并进行新的提交:
git add -A
git commit -m "Keep only the latest commit" -
删除所有旧的历史和分支(这是关键步骤,确保仓库只保留最新一次提交)
git branch -D main # 删除旧的 main 分支
git branch -m main # 将最新提交的分支重命名为 main -
(删除所有本地标签,如果需要,这可以进一步降低占用空间)
mac/linux
git tag | xargs git tag -d
windows
for tag in $(git tag); do git tag -d $tag; done -
强制推送到远程仓库
git push --force --set-upstream origin main -
清理本地仓库的大小
git reflog expire --expire=now --all
git gc --prune=now --aggressive
其他开发者执行的命令:
git fetch origin
git reset --hard origin/main
git gc --prune=now --aggressive
本作品采用《CC 协议》,转载必须注明作者和本文链接
:+1: :+1: