Git LFS(Large File Storage, 大文件存储)是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持。
简介 {#简介}
Git LFS(Large File Storage, 大文件存储)是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持。
-
Git LFS可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替文件的存在。
-
通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能。
-
要使用 Git LFS 只需要经过一次下载安装后,指定需要由 Git LFS 管理的文件即可。
-
git每次保存diff,一些大文件发生变化时,整个仓库就会增加很大的体积,导致clone和pull的数据量大增。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
-
LFS 对目录是不生效的(但在git远程仓库也是提示LFS)
原理:不同于git每次保存diff,对于git来说,如果是模型文件或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小git仓库的体积。
注意:安装 Git LFS 需要 Git 的版本不低于 1.8.5
LFS 安装 {#LFS-安装}
git 2.+ 版本已经自带 lfs 不需要额外安装,如果需要升级 lfs 事实上建议直接升级 git 的版本,单独升级 lfs 可能会造成版本不匹配的问题
Windows 系统 {#Windows-系统}
-
通过https://git-lfs.github.com/下载 Git LFS 安装包。
-
双击安装包,打开安装 git-lfs
-
在命令行中执行 git lfs install(需要确认 git-lfs 命令已经被包含在环境变量中)
Linux 系统 {#Linux-系统}
Mac OS 系统 {#Mac-OS-系统}
用法 {#用法}
-
查看现有的文件追踪模式:
-
添加要管理的大文件的文件类型,比如gz文件
添加类型后,查看管理文件.gitattributes,可以发现.gitattributes中新增加一行:
-
将管理文件.gitattributes提交至仓库. 它保存了文件的追踪记录
-
获取
git lfs
管理的所有文件列表: -
通过
git show
可以查看 lfs 文件 -
添加大文件到git仓库,和其它添加方式一样
-
将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示
-
clone 时 使用
git clone
'或git lfs clone
均可 -
查看Git LFS 的帮助:
注: Git version > 1.8.5 如未安装LFS,拉取到本地LFS文件将是约1K的ASCII text文本文件(但通过du -sh查看目前的大小此目录依旧很大,那是因为.git/objects 目录存的git log文件占用)。
参考资料 {#参考资料}
文章链接:
https://www.zywvvd.com/notes/tools/git/git-lfs/git-lfs/