【git服务器+查文件大小,Git项目过大清理】

转载于:https://blog.csdn.net/weixin_29491635/article/details/119500569

一、问题说明

如图,由于之前上传了一些比较大的文件,导致项目太大。即使后来删除,记录中还是保存了这个文件。以后不管是拷贝,还是push/pull都比较麻烦。这会导致所有人每次git fetch需要浪费很多时间。查看项目仓库大小可以使用命令git count-objects -vH。在这里插入图片描述

如图,我的项目已经超过4G了,下面进行清理。

切记: 大文件需要添加到 .gitignore文件

二、解决方法

1、拉取项目:将项目所有分支拉下来

2、 查看有哪些大文件

git rev-list --objects --all | grep “$(git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -10 | awk ‘{print$1}‘)”

99cd2c57592d4cc2d80532c3b7f4fe1a.png

这里查询最大的前10个,然后观察其中是否有需要删除的大文件,比如这里是测试视频和模型权重,都应该删除。

3、移除对该文件的引用

git filter-branch --force --index-filter ‘git rm -rf --cached --ignore-unmatch 文件/文件夹‘ --prune-empty --tag-name-filter cat – --all
在这里插入图片描述

文件如:5.mp4

文件夹如:/models/

注意:一次只能处理一个文件/文件夹,如果有多个需要耐心处理。

4、 回收空间,清理本地仓库中不可到达的对象

git for-each-ref --format=‘delete %(refname)’ refs/original | git update-ref --stdin

rm -rf .git/refs/original/

git reflog expire --expire=now --all

git gc --prune=now

git gc --aggressive --prune=now

如图,删掉视频后,从2G减小到700M。

  1. 推送到服务器,清理远程仓库

git push origin --force --all

git remote prune origin

完成后拉取项目将会变小,但是Gitlab的项目的大小并不会变化。不过后面拉取项目会变小,也变成700M了

5、 注意

清理完之后,每个人一定要删掉之前拉取的项目, 重新从git上拉项目。不要使用之前的项目了!否则会不降反升!

这是赤裸裸教训

三、清理服务器缓存

如果有条件进入到Gitlab服务部署目录,可以对远程仓库进行确认和瘦身。(没有条件,没有尝试)

sudo su

cd ${gitlab项目部署目录}/git-data/repositories/{待清理的项目地址}

git count-objects -vH # 此时还是旧的大小

git gc --prune=now # 清理无效文件

git count-objects -vH # 此时就和本地一样,从库减小了

转载
https://blog.csdn.net/weixin_29491635/article/details/119500569
原文:
https://www.cnblogs.com/geoffreyone/p/14603537.html

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
答:您可以在Jenkins中安装Git插件,然后创建一个项目,在构建配置中设置Git仓库和分支等信息。接着,在构建步骤中添加执行Shell命令的步骤,以实现自动化部署。具体步骤如下: 1. 安装Git插件:在Jenkins的插件管理页面中搜索Git插件,选择安装并重启Jenkins。 2. 创建一个项目:在Jenkins主页中点击“新建项目”,选择“自由风格项目”,并设置项目名称。然后,点击“确定”进入项目配置页面。 3. 配置Git仓库和分支:在项目配置页面中,选择“源码管理”选项卡,并选择“Git”作为源代码管理工具。然后,填写Git仓库的URL和分支名称等信息。您还可以配置Git认证信息等。 4. 添加Shell命令:在构建环境中,勾选“提前清理工作区”选项,并添加一个“执行Shell”构建步骤。在Shell脚本中,编写部署命令,将Spring Boot应用程序部署到另一台Windows服务器上。例如: ```bash # 克隆代码 git clone https://github.com/user/repo.git cd repo # 编译应用程序 mvn clean package # 复制应用程序到另一个服务器 scp target/app.jar user@server:/path/to/deploy/ ``` 5. 保存并构建:点击“保存”按钮保存配置,然后点击“立即构建”按钮运行构建过程。Jenkins将自动从Git仓库获取代码、编译应用程序并将其部署到另一台Windows服务器。 请注意,在构建之前,您需要在Jenkins服务器和另一台Windows服务器之间建立信任关系,并安装好必要的工具和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值