当前位置:首页 > 技术分享

Git LFS 大文件存储 允许将大文件从代码仓库中分离出来

admin5个月前 (11-17)技术分享295

Git LFS 是指 Git 的大文件存储(Large File Storage),是一个用于有效管理大型二进制文件的工具。它允许开发者将大文件从代码仓库中分离出来,比如图像、音频、视频和数据文件等,将其存储在单独的存储区域,并在存储库中仅保留文件的引用。这样可以避免存储库因每次保存 diff 导致的体积过大,加速存储库的克隆和下载过程,并确保大文件的版本控制不会导致性能问题。

通过 Git LFS,可以实现:

  • 分离大文件:LFS 允许将大文件从代码仓库中分离出来,将其存储在单独的位置

  • 版本控制:LFS 仍然提供版本控制,但仅在存储库中保留文件的引用,以避免存储库过大

  • 高性能:LFS 可以加速存储库的克隆和下载过程,因为它不需要每次都传输大文件

  • 文件锁定:LFS 支持文件锁定,以避免多个用户同时编辑大文件引发冲突


Git LFS 下载和安装


注意:安装 Git LFS 需要 Git 的版本不低于 1.8.5

Git LFS 官网:https://git-lfs.github.com/

项目源码地址:https://github.com/git-lfs/git-lfs

Linux 系统

$ curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
$ sudo apt-get install git-lfs
$ git lfs install

运行git lfs install,如果显示Git LFS initialized说明安装成功

MacOS 系统

1.安装HomeBrew

$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

运行git lfs install,如果显示Git LFS initialized说明安装成功

2.安装 Git LFS

$ brew install git-lfs
$ git lfs install

Windows 系统

  1. 下载安装程序 windows installer

  2. 运行 windows installer

  3. 在命令行执行 git lfs install

配置


配置我们要与Git LFS关联的文件类型,此信息将添加到 .gitattributes 存储库中的 文件中。

如果你对 .gitattributes 文件的作用不太了解,可以参考 这篇文档

将文件类型与 Git LFS 关联的最简单方法是通过 git lfs track 命令。

如将所有 jpg 文件管理到Git LFS:

$ git lfs track "*.png"

该 .gitattributes 文件已创建,并包含以下信息:

*.jpg filter=lfs diff=lfs merge=lfs -text

完美!从现在开始,LFS 将处理此文件。现在,我们可以按照以前的方式将其添加到存储库中。注意,对其他任何更改 .gitattributes 也必须提交到存储库,就像其它修改一样:

$ git add .gitattributes
$ git add design-resources/design.psd
$ git commit -m "Add design file"

常用 Git LFS 命令


查看 git lfs 当前正在跟踪的所有模式的列表

$ git lfs track

查看 git lfs 当前跟踪的文件列表

$ git lfs ls-files

取消跟踪并从LFS 删除文件


从 lfs 取消跟踪特定类型的所有文件,并将其从缓存中删除:

$ git lfs untrack "*file-type"
$ git rm --cached "*file-type"

如果要将这些文件重新添加到常规 git 跟踪中并提交,可以执行以下操作:

$ git add "*file-type"
$ git commit -m "restore "*file-type" to git from lfs"

最佳实践


以下是使用 LFS 功能的最佳实践:

  • 仅用于大型二进制文件:只使用 LFS 来管理大型二进制文件,而不是文本文件

  • 启用文件锁定:在多人协作环境中,启用文件锁定以防止多个用户同时编辑大文件

  • 定期清理不必要的大文件:定期审查存储库,删除不再需要的大文件引用

  • 提供文档:向团队成员提供有关如何使用 LFS 的文档或指南,以确保正确使用

感谢 @BaiXuePrincess 贡献的关于 Git-LFS 的帮助文档

项目地址: https://gitcode.net/BaiXuePrincess/git-lfs


扫描二维码推送至手机访问。

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/704.html

分享给朋友:

“Git LFS 大文件存储 允许将大文件从代码仓库中分离出来” 的相关文章

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

[Windows] Adobe Flash Player 34.0.0.92及可用版修改方法

随着 2021 年的到来,Adobe Flash Player 也迎来了告别,Adobe 在 2020 年 12 月 31 日后将不再支持 Flash Player。其实早在 2017 年,Adobe 公司就已宣布,计划在 2020 年底逐…

[教程] WTG备份新方法——FFU镜像格式

[教程] WTG备份新方法——FFU镜像格式

FFU(Full Flash Update) 格式是一种基于扇区的磁盘镜像文件格式,默认使用快速哈夫曼压缩(Xpress-Huffman)算法压缩,在捕获和部署时会生成哈希表进行校验,并可以使用DISM修改捕获的镜像。FFU格式很适合WTG…

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 不支持32位应用 32位无法安装问题解决办法

VirtualXposed 是基于VirtualApp 和 epic 在非ROOT环境下运行Xposed模块的实现(支持5.0~10.0)。与 Xposed 相比,目前 VirtualXposed 有…

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

微软Windows 10升级密钥(例如家庭版升级为企业版) 不能用于激活系统

下面的密钥,是微软官方提供的,仅能用于Windows10系统版本的升级,比如从家庭版升级为专业版、专业版升级为企业版等。升级密钥不能用于激活系统,激活需要KMS或者数字权利,由于涉及到版权问题,在此不宜分享,请大家自行查找激活相关的内容。准…

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

遭遇国外ip抓取或攻击怎么办一招解决禁止海外IP访问

究发现很多网站被攻击都是来自海外的肉鸡,所以禁掉海外IP访问网站也是不错的防护手段,而且国内网站几乎很少有国外用户访问,称之为大局域网也不为过。今天主机吧来教大家如何利用域名解析禁止掉海外IP访问网站。绝大多数域名解析服务商都是提供电信联通…

用apicloud 免费,简单封装一个wap手机网站成android app

用apicloud 免费,简单封装一个wap手机网站成android app

APICloud是国内较早布局低代码开发的平台之一,其发布的低代码效率工具Plus Mode,为IT项目中每个角色提供专业工具,将需求分析、产品原型、UI设计、前端开发、后端开发紧密衔接,并基于行业大数据对前置环节进行复用,最终缩减大量重复…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。