当前位置: 首页 > news >正文

Git 存储大文件

Git 存储大文件处理方法

  • 寻找大文件的后缀
  • LFS的安装
  • 让仓库支持LFS
  • 添加到LFS
  • 提交

寻找大文件的后缀

 find . -type f -size +10M | grep -v ".git"  | rev | cut -d. -f1 | rev | sort | uniq

这个命令的工作原理如下:

find .-type f -size +10M:查找大于10M的文件。
grep -v “.git”: 不处理.git 目录下的文件
rev:反转每一行,这样文件的扩展名就在行的开始位置。
cut -d. -f1:使用.作为分隔符,取出每一行的第一部分,也就是文件的扩展名。
rev:再次反转每一行,将扩展名恢复到原来的位置。
sort:对结果进行排序,这是uniq命令去重的前提。
uniq:去除重复的行,也就是重复的扩展名。

LFS的安装

  • 下载:

Linux Debian 和 RPM packages:https://packagecloud.io/github/git-lfs/install

Mac: brew install git-lfs

Windows:目前lfs已经集成在了Git for Windows 中,直接下载和使用最新版本的Windows Git即可。

直接下载二进制包:https://github.com/git-lfs/git-lfs/releases

依据源码构建:https://github.com/git-lfs/git-lfs

  • 安装:

如果你选择使用二进制包下载后安装,直接执行解压后的./install.sh脚本即可,这个脚本会做两个事情:

在$PATH中安装Git LFS的二进制可执行文件

执行git lfs install命令,让当前环境支持全局的LFS配置

让仓库支持LFS

git lfs install

Updated pre-push hook.
Git LFS initialized.

添加到LFS

把筛选出来的后缀添加到lfs的跟踪后缀忠

git lfs track *.so

.gitattributes 文件会自动添加如下行

*.so filter=lfs diff=lfs merge=lfs -text

提交

Github和常规提交一致

git commit

推送

git push

如果是其他仓库,可能需要按照官方说明进行额外处理。
例如阿里云仓库则需要参照链接

相关文章:

  • keepalived双主模式测试
  • 如何进行 Github 第三方登录详细讲解 (Java 版本)
  • Linux deb软件包制作
  • Xilinx FPGA——在线升级
  • Rust 基本环境安装
  • Leetcode 21-25题
  • 消息队列RabbitMQ-使用过程中面临的问题与解决思路
  • OpenCV-36 多边形逼近与凸包
  • 【网络安全】什么样的人适合学?该怎么学?
  • NoSQL 数据库管理工具,搭载强大支持:Redis、Memcached、SSDB、LevelDB、RocksDB,为您的数据存储提供无与伦比的灵活性与性能!
  • c#的反汇编对抗
  • 推荐彩虹知识付费商城免授权7.0源码
  • 第99讲:MHA高可用集群配置实战:邮件告警和Binlog服务器搭建详解
  • NineAi 新版AI系统网站源码 ChatGPT
  • 前端新手Vue3+Vite+Ts+Pinia+Sass项目指北系列文章 —— 第十二章 常用工具函数 (Utils配置)
  • C语言:生成校验码
  • javaSE和javaEE区别
  • HTML 字符实体参考清单
  • Java使用Redis实现消息队列
  • 【算法】约瑟夫环问题解析与实现
  • 游客曝九寨沟打网约车被出租车围堵,官方:前者违规,后者做法不对
  • 中国人寿一季度净利润288亿增39.5%,营收降8.9%
  • 新华保险一季度净赚58.82亿增19%,保费收入增28%
  • 解读|特朗普“助攻”下加拿大自由党“惨胜”,卡尼仍需克服“特鲁多阴影”
  • 论法的精神︱张玉敏:知识产权保护要为社会经济文化发展服务
  • 全过程人民民主研究基地揭牌,为推动我国民主政治建设贡献上海智慧