git清空(除最后一次commit)commit和tag提交记录,降低.git文件夹大小,提升速度步骤记录

前言

.git文件夹很大,天天提交一些有的没得, commit记录对你没有什么用的时候可以清理文件夹,降低占用的空间,提升拉取代码的速度

操作者步骤

  1. 清理所有历史提交(只保留最新一次提交)
    git rebase --root --onto HEAD

  2. 创建一个新的孤立分支(不包含历史记录),并将最新的代码提交到这个新分支上
    git checkout --orphan latest_commit

  3. 添加所有文件并进行新的提交:
    git add -A
    git commit -m "Keep only the latest commit"

  4. 删除所有旧的历史和分支(这是关键步骤,确保仓库只保留最新一次提交)
    git branch -D main # 删除旧的 main 分支
    git branch -m main # 将最新提交的分支重命名为 main

  5. (删除所有本地标签,如果需要,这可以进一步降低占用空间)
    mac/linux
    git tag | xargs git tag -d
    windows
    for tag in $(git tag); do git tag -d $tag; done

  6. 强制推送到远程仓库
    git push --force --set-upstream origin main

  7. 清理本地仓库的大小
    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 协议》,转载必须注明作者和本文链接
chowjiawei
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1
空山

:+1: :+1:

3个月前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
测开 @ 新大陆数字技术股份有限公司
文章
76
粉丝
42
喜欢
238
收藏
410
排名:238
访问:4.0 万
私信
所有博文
博客标签
社区赞助商