1. 安装
Git Large File Storage (LFS) 是一个 开源的 Git 扩展,用于替换 Git 仓库中的大文件,用指针文件替代实际的大文件,可以在保持仓库轻量级的同时,有效地管理大型文件。
如果install提示失败,多试几次,可能网络原因。
git --version
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt install git-lfs
2. 配置
# 初始化
git lfs install
# 增加文件(根据需要添加)
git lfs track "*.pt" # 包含完整模型和权重的pytorch模型通用文件格式
git lfs track "*.pth" # 同上
git lfs track "*.bin" # 存储模型和数据的二进制格式
git lfs track "*..gguf" #Google的语言模型格式
git lfs track "*.ckpt" # 包括模型权重、训练状态及代码用于调试及训练的模型文件格式
git lfs track "*.safetensors" # 仅保存模型权重用于部署的模型文件格式
git lfs track "*.whl" # Python发行版的标准内置软件包格式
git lfs track "*.onnx" #通用模型格式
# 查看lfs已启动的文件追踪规则
git lfs track
# 查看lfs已经追踪的文件
git lfs ls-files
# 取消追踪文件
git lfs untrack "filename.zip"
3. 使用
gitee默认不开通lfs,需要企业付费,付费后即可使用,不过,即使是付费企业版也只有1G,还没仓库本身大,基本也算是鸡肋了。
# 保存配置
git add .gitattributes
git commit -m "增加lfs大文件跟踪"
# 文件推送
git push orign master
# 文件下载
git clone xxx.git 或 git lfs clone xxx.git
# 文件拉取
git lfs pull
# 对于原来已经在版本库里,如果需要添加到lfs管理
# --no-rewrite:不改写历史
# --include-ref :指定导入的分支
# --everything:应用到所有分支
# --include 选项指定要导入的文件,可以使用通配符,批量导入
git lfs migrate import -m "lfs import"
# 如果 不带--no-rewrite参数选择改变提交历史,还需要使用 --force强制推送
git push origin master --force