目录
原理
使用方法
报错记录
原理
项目中的大文件会很占空间。
git lfs(large file storage)将大文件替换为小指针, 当真正需要到这些大文件的时候, 才会从本地或者远端的lfs缓存中下载这些大文件.
git lfs拥有本地lfs缓存和远端的lfs存储仓库.
当你add一个文件时, git lfs用一个指针替换了其中的内容, 并将文件存储在本地的git lfs缓存中
当你push一个文件时, 除过普通的文件会被正常push, 这些lfs文件也会被从本地lfs缓存传输到远端lfs存储仓库
- 当你checkout一个包含lfs 指针的提交的时候, 那么指针文件就将被本地lfs缓存中的备份, 或者lfs存储库中的备份替换
该指针当然也是一个文件, 内容如
version https://git-lfs.github.com/spec/v1
oid sha256:5b62e134d2478ae0bbded57f6be8f048d8d916cb876f0656a8a6d1363716d999
size 285
里面的第一行是一个指针文件规范URL, 第二行是对象id, 第三行是文件有多少字节.
使用方法
- 下载和安装
yum install git-lfs
如果没有,则到https://pkgs.org去搜索下载安装:
https://pkgs.org/search/?q=git-lfs
仓库配置文件,新增加这个地址:
vim lcxrdma.repo
安装
dnf install git-lfs
使用:
第一次同时下载文件指针:
git lfs clone
第一次同时下载同时下载文件本身:
git lfs clone
已经下载了的用下面的命令拉文件本身
git lfs pull
使用
:::block-1
cd 到 git 仓库所在目录
git lfs track “xxx”,告诉 lfs 需要处理哪些文件
此时,目录下会出现 .gitattributes 文件,里面是 lfs 的追踪信息
:::
Note:需要将.gitattributes 加入版本控制
原文链接:https://blog.csdn.net/dddgggd/article/details/128859423
Git LFS 其他命令
git lfs ls-files 显示当前被 lfs 追踪的文件列表
git lfs track 查看现有的文件追踪模式
git lfs untrack "\*xx.a" 取消 git lfs 对某文件的追踪
报错记录
certificate signed by unknown authority
[root@localhost ceastor-pxe]# git lfs pull
batch response: Post "https://code.cestc.cn/storage/ceastor/engine/ceastor-pxe.git/info/lfs/objects/batch": x509: certificate signed by unknown authority
Failed to fetch some objects from 'https://code.cestc.cn/storage/ceastor/engine/ceastor-pxe.git/info/lfs'
处理:
git config http.sslverify false
git config --global http.sslVerify false