51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Git 大文件存储 lfs

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-系统}

用法 {#用法}

  1. 查看现有的文件追踪模式:

  2. 添加要管理的大文件的文件类型,比如gz文件

    添加类型后,查看管理文件.gitattributes,可以发现.gitattributes中新增加一行:

  3. 将管理文件.gitattributes提交至仓库. 它保存了文件的追踪记录

  4. 获取git lfs管理的所有文件列表:

  5. 通过 git show 可以查看 lfs 文件

  6. 添加大文件到git仓库,和其它添加方式一样

  7. 将代码 push 到远程仓库后,LFS 跟踪的文件会以『Git LFS』的形式显示

  8. clone 时 使用git clone'或 git lfs clone均可

  9. 查看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/

赞(1)
未经允许不得转载:工具盒子 » Git 大文件存储 lfs