Git 存储大文件

Git 存储大文件处理方法

寻找大文件的后缀

bash 复制代码
 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

bash 复制代码
git lfs install

Updated pre-push hook.

Git LFS initialized.

添加到LFS

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

bash 复制代码
git lfs track *.so

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

text 复制代码
*.so filter=lfs diff=lfs merge=lfs -text

提交

Github和常规提交一致

bash 复制代码
git commit

推送

bash 复制代码
git push

如果是其他仓库,可能需要按照官方说明进行额外处理。

例如阿里云仓库则需要参照链接

相关推荐
凯尔萨厮4 小时前
Git(学习笔记)
笔记·git·学习
一技安身6 小时前
【Git】零基础入门实战教程(Windows 完整版,适配竞赛仓库)
windows·git
LXY_BUAA9 小时前
Git_在飞牛中部署 GitLab_20260817
git·gitlab
阳墨余11 小时前
Git 同时管理 Gitee 和 GitHub 的 SSH 配置实战
git·gitee·github
fengyehongWorld19 小时前
Git 认证凭据管理
git
暮云星影1 天前
git版本发布
git·gitee·github·gitea
乌夷1 天前
Git Flow 分支模型
git
独隅1 天前
VS Code Git 工作树多分支并行开发实战评测
git
暮云星影1 天前
git仓库分支管理
git·gitee·github·gitea
互联网中的一颗神经元2 天前
ZZ — Git 速查表
大数据·git·elasticsearch