周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. git
  3. 正文

git lfs 下载大文件

2024年 2月 3日 1069点热度 0人点赞 0条评论

什么是Git LFS(Git大文件存储)?

  • Git LFS是一种开源的Git扩展,用于管理大文件和二进制文件,将它们存储在单独的 "LFS 存储库" 中, 从而让Git存储库保持在一个可管理的规模。
  • 如今,很多的项目都包含代码和二进制资产。将大型二进制文件存储在Git存储库中可能会成为Git用户的瓶颈。

Git LFS存储如何工作?

  • Git大文件存储使用指针来引用文件,而不是将实际文件或二进制大对象(blobs,一种将二进制文件存储为一个实体的数据类型) 存储在Git存储库本身中。
  • 因此,大文件/二进制大对象不会被直接写入Git存储库,而是被写入一个指针文件。文件/二进制大对象本身会被写入一个单独的服务器,称为LFS存储库。通过这种方式,可以对大文件进行版本控制,以及管理二进制大对象,同时释放Git存储库的空间。

我应该使用Git LFS吗?

  • 如果您需要在Git中管理大文件或二进制文件,那么可以考虑使用Git LFS。(但是,如果您的团队中有美术人员和设计师,需要对他们的大型二进制艺术文件进行版本控制,那么您可能不希望使用Git LFS。关于这一点,我们将在下一节中详细讨论。)
  • 使用Git LFS或其他替代方案的原因是,Git是一种分布式版本控制系统,每个开发人员在本地计算机上都有完整的变更历史记录。对大型二进制文件进行更改会导致什么?每次更改文件并提交后,Git 存储库的规模都会根据文件的大小而增加。这意味着获取文件会花费很长时间,并且很难对这些二进制文件进行版本控制和合并。
  • 因此,每当文件增长时,Git存储库也会增长,这会导致Git用户在检出和克隆存储库时出现性能下降的情况。
  • Git LFS是为解决这些问题而创建的

安装

  • windows下载:Git Large File Storage | Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise. (git-lfs.com)s

  • ubuntu

    新增源:curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash

    sudo apt-get install git-lfs

显示下载进度

  • 下载github仓库大文件,显示实时下载进度

    • 设置环境变量 export GIT_LFS_SKIP_SMUDGE=1
    • 执行 git lfs pull 就可以实时看到进度了

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年 2月 3日

周凯

这个人很懒,什么都没留下

打赏 点赞
< 上一篇

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蒙ICP备18004897号