首页 > 其他分享 >git清理仓库

git清理仓库

时间:2023-08-16 16:47:45浏览次数:43  
标签:历史记录 git 仓库 清理 filter -- repo

要压缩Git仓库的历史记录,可以使用git filter-branch命令或git filter-repo工具。这些方法可以修改仓库的历史记录,删除或合并提交,从而减小仓库的大小。请注意,在执行这些操作之前,请务必备份你的仓库,以防万一出现意外情况。

使用 git filter-branch

  1. 打开终端或命令行,并进入到你的Git仓库所在的目录。

  2. 运行以下命令来执行历史记录压缩:

    git filter-branch --tree-filter 'rm -rf path/to/unwanted/files' --prune-empty -- --all
    

    path/to/unwanted/files 替换为你想要删除的文件或文件夹的路径。这个命令将会遍历所有的提交,并删除指定路径下的文件或文件夹。

  3. 执行完上述命令后,Git会重新写入历史记录。这可能需要一些时间,具体时间取决于仓库的大小和历史记录的数量。

  4. 执行完命令后,你可以使用git gc命令来清理和压缩仓库的对象数据库:

    git gc --aggressive --prune=all
    

    这会删除无用的对象并压缩仓库的大小。

使用 git filter-repo

git filter-repo是一个Python脚本,提供了更强大和高效的历史记录过滤和重写功能。以下是使用git filter-repo工具进行历史记录压缩的基本步骤:

  1. 安装git filter-repo。你可以从其GitHub仓库(https://github.com/newren/git-filter-repo)获取安装说明。

  2. 打开终端或命令行,并进入到你的Git仓库所在的目录。

  3. 运行以下命令来执行历史记录压缩:

    git filter-repo --path path/to/unwanted/files --invert-paths
    

    path/to/unwanted/files 替换为你想要删除的文件或文件夹的路径。这个命令将会删除指定路径下的文件或文件夹。

  4. 执行完上述命令后,git filter-repo会重新写入历史记录。这可能需要一些时间,具体时间取决于仓库的大小和历史记录的数量。

  5. 执行完命令后,你可以使用git gc命令来清理和压缩仓库的对象数据库:

    git gc --aggressive --prune=all
    

    这会删除无用的对象并压缩仓库的大小。

请注意,在使用git filter-branchgit filter-repo进行历史记录压缩时,会修改仓库的历史记录。这可能会对其他人协作、分支和提交记录造成影响。因此,在对共享仓库或已经推送到远程仓库的仓库执行这些操作之前,请确保与团队成员进行充分的沟通和备份。

标签:历史记录,git,仓库,清理,filter,--,repo
From: https://www.cnblogs.com/maomaomaoge/p/17635477.html

相关文章

  • Git 版本回退
    Git版本管理的基本结构WorkingTree:当前的工作区域Index/Stage:暂存区域,使用gitaddxx,就可以将xx添加近Stage里面。(注意区分stage和stash;gitstash命令暂存的地方不是stage/index)Repository:版本库,提交的历史,即使用gitcommit提交后的结果RemoteReposito......
  • 数据仓库的相关学习
    1、数据仓库概念--为了分析数据数仓专注分析:出现:支持分析、面向分析:2、数据仓库的主要特征面向主题性:集成性:非易失性(非易变性):时变性:3、数据仓库主流开发语言--SQL介绍......
  • gitlab-runner register
    [root@g~]#gitlab-runnerregisterRuntimeplatformarch=amd64os=linuxpid=23614revision=ac8e767aversion=12.6.0Runninginsystem-mode.P......
  • 自动同步 github 仓库到 gitee
    自动同步github仓库到gitee先上最终效果代码仓库:github2giteeGithubAction同步结果:为什么要同步到gitee将gitee仓库作为备份镜像仓库,以防不测网上的同步方法大致在网上查找了一通,基本都是使用githubaction做到自动同步,也有一些前人封装好的action,所以做起来......
  • ❤️ GitHub Copilot 读心术揭秘,Copilot 逆向工程笔记
    总览你是否好奇GitHubCopilot如何知道你想写的内容?有时候它聪明得甚至好像读过你项目里其他文件一样,不要怀疑,它确实读过。这篇文章记录了我阅读一个对Copilot的逆向工程的笔记,一言以蔽之,Copilot使用了Jaccard相似度获取用户最近访问过的页面里与当前编辑内容最相似的代码......
  • 数字基因表达谱(Digital Gene Expression Profiling,DGE)
    数字基因表达谱(DigitalGeneExpressionProfiling,DGE) 利用新一代高通量测序技术和高性能计算分析技术,能够全面、经济、快速地检测某一物种特定组织在特定状态下的基因表达情况。 数字基因表达谱已被广泛应用于基础科学研究、医学研究和药物研发等领域。 楼主应该是......
  • Git常用命令
    git initgit add.  #将全部文件加入缓冲区git commit -m“注释”  文件名.后缀gitstatusgitclone地址关联到远程库gitremoteaddorigin你的远程库地址  把本地库的内容推送到远程 gitpull--rebaseoriginmaster gitadd文件名+gitpu......
  • 漏洞仓库
    漏洞触发url方法匹配词用途详情espcms_utf8_v5.7.13.08.15存在CSRFhttp://192.168.230.148/espcms/adminsoft/index.php?archive=membermain&action=membersavePOSTadminsoft/index.php?archive=membermain&action=membersave新增用户espcms_v5.7.13存在CSRF......
  • Github账号开启账号双重验证
    原文:Github开启双重验证-Stars-One的杂货小窝今天在浏览开源项目的时候,突然Github有个提示我要在9月18日前开启双重验证,说是不完成的话,到时候的Github账号会受到限制于是花了些时间研究了下,通过百度搜索也看到了有篇文章说到这事,今年Github要在年底前限制必须所有账......
  • Learn Git in 30 days——第 02 天:在 Windows 平台必装的三套 Git 工具
    写的非常好的一个Git系列文章,强烈推荐原文链接:https://github.com/doggy8088/Learn-Git-in-30-days/tree/master/zh-cn要开始使用Git版本控制,首先要安装适当的Git工具,这个系列的文章主要还是以Windows平台为主,这篇文章将会介绍三套我们最常用的Git版控工具,并介绍这几......