当前位置: 首页 > news >正文

Git进阶(十五):Git LFS 使用详解

文章目录

    • 一、介绍
    • 二、Git LFS 使用步骤
    • 三、场景示例
    • 四、拓展阅读

一、介绍

Git LFS (Large File Storage) 是一个 Git 扩展,它使 Git 更适合处理大型文件,如音频、视频、图像或任何其他二进制大文件。Git LFS 替换仓库中的大文件为文本指针文件,这些文件包含指向实际大文件位置的信息。这样,Git 仓库的大小显著减小,同时也保留了对大文件的版本控制能力。

二、Git LFS 使用步骤

  1. 安装 Git LFS
    首先,需要在机器上安装 Git LFS。可以从 Git LFS 的官方网站下载并安装适合操作系统的版本。

  2. 初始化 Git LFS
    在本地仓库中运行 git lfs install 命令。这会确保 Git LFS 的钩子被正确地设置在 Git 配置中。

  3. 指定要跟踪的文件类型
    使用 git lfs track "*.ext" 命令来指定 Git LFS 应该跟踪的文件类型。例如,如果想要跟踪所有 .jpg 文件,可以运行:

git lfs track "*.jpg"
  1. 推送更改
    推送之前,可能需要添加 .gitattributes 文件到仓库中,这是 Git LFS 存储跟踪规则的地方。然后,可以正常地提交和推送你的更改:
git add .gitattributes
git commit -m "Add LFS tracking for jpg files"
git push

.gitattributes 文件内容如下:

DEMOSDK filter=lfs diff=lfs merge=lfs -text
XYRTCEngine filter=lfs diff=lfs merge=lfs -text
  1. 拉取文件
    当在其他克隆的仓库中拉取时,Git LFS 将自动下载并替换指针文件为实际的大文件。

  2. 安装正确定验证
    要确定Git LFS是否成功,可以执行以下步骤:

  1. 检查Git LFS的安装:首先,确保已经正确安装了Git LFS。可以在命令行终端中运行git lfs version命令,如果能够输出Git LFS的版本信息,则表示已经成功安装。

  2. 确认仓库是否启用了Git LFS:在Git存储库中,可以通过命令行输入git lfs install来确认是否启用了Git LFS。如果结果显示”Git LFS initialized.”,则表示Git LFS已启用。如果结果显示”Git LFS is already initialized.”,则表示Git LFS已经在该仓库中启用。

  3. 查看LFS文件追踪情况:运行git lfs track命令可以查看当前仓库中被Git LFS追踪的文件列表。如果已经追踪了需要使用Git LFS进行管理的大文件,则表示Git LFS成功启用。

  4. 检查LFS配置文件:Git LFS使用一个名为.gitattributes的配置文件来指定需要使用Git LFS进行管理的文件类型。可以用文本编辑器打开该文件,检查是否已经正确指定了需要使用Git LFS进行管理的文件类型。

  5. 查看文件提交情况:可以使用git lfs ls-files命令来查看当前仓库中使用Git LFS进行管理的文件列表。如果显示了预期的大文件列表,则说明Git LFS成功起作用。

  6. 查看文件远程存储情况:可以使用git lfs status命令来查看当前仓库中使用Git LFS进行管理的文件在远程存储库中的状态。如果显示了正确的远程存储信息,则说明Git LFS成功上传了大文件至远程存储库。

  7. 查看Git LFS的日志:Git LFS提供了一个命令行工具来查看Git LFS的日志信息。可以输入git lfs logs last来查看最近的Git LFS操作日志。可以查看Git LFS的提交、拉取等操作的详细信息,以确保它们顺利进行。

总结:通过执行上述步骤,可以确定Git LFS是否成功启用,并且大文件是否被正确追踪和上传至远程存储库。如果以上步骤均正常,说明Git LFS已经成功地工作。

三、场景示例

假设正在开发一个游戏项目,其中包含大量的纹理、模型和音效文件。这些文件通常都是二进制的且体积较大。为了有效地使用 Git 进行版本控制,决定使用 Git LFS。

步骤:

  1. 安装和初始化 Git LFS:
# 安装 Git LFS
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
git lfs install# 或者在Windows环境下通过PowerShell运行
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/git-lfs/git-lfs/main/install/main/install-sh'))
git lfs install
  1. 指定要跟踪的文件类型:
git lfs track "*.png"
git lfs track "*.wav"
git lfs track "*.fbx"
  1. 推送更改:
git add .gitattributes
git commit -m "Add LFS tracking for large binary files"
git push

现在,当在项目中添加、修改或删除大文件时,Git LFS 将自动处理它们,而不会显著增加仓库的大小。当其他团队成员克隆或拉取仓库时,Git LFS 将只下载他们需要的文件,而不是整个仓库的历史版本。

这样,在团队就可以更高效地协作,同时保持对大文件的版本控制。

四、拓展阅读

  • 《 Git LFS 官方网站》
http://www.lryc.cn/news/442676.html

相关文章:

  • 操作系统 | 学习笔记 | | 王道 | 5.1 I/O管理概述
  • 关于es的一个多集群、多索引切换的实现
  • Linux系统编程(基础指令)上
  • 【STM32 Blue Pill编程】-定时器PWM模式
  • 数字英文验证码识别 API 对接说明
  • 稳了,搭建Docker国内源图文教程
  • 零工市场小程序:推动零工市场建设
  • 回归预测 | Matlab实现SSA-HKELM麻雀算法优化混合核极限学习机多变量回归预测
  • VCNet论文阅读笔记
  • Python 装饰器使用详解
  • Vue使用qrcodejs2-fix生成网页二维码
  • 兼容多个AI应用接口,支持用户自定义切换AI接口
  • [docker]入门
  • 《让手机秒变超级电脑!ToDesk云电脑、易腾云、青椒云移动端评测》
  • Nginx处理带有分号“;“的路径
  • Spring Boot框架下的心理教育辅导系统开发
  • PyTorch 图像分割模型教程
  • 物联网——USART协议
  • 前端框架对比与选择:如何在现代Web开发中做出最佳决策
  • 【浅水模型MATLAB】尝试复刻SCI论文中的溃坝流算例
  • 探索云计算:IT行业的未来趋势
  • [PICO VR眼镜]眼动追踪串流Unity开发与使用方法,眼动追踪打包报错问题解决(Eye Tracking/手势跟踪)
  • 一周热门|比GPT-4强100倍,OpenAI有望年底发布GPT-Next;1个GPU,1分钟,16K图像
  • 软考流水线计算
  • 1份可以派上用场丢失数据恢复的应用程序列表
  • MySQL Workbench 超详细安装教程(一步一图解,保姆级安装)
  • 深度学习常见面试题及答案(16~20)
  • Packet Tracer - IPv4 ACL 的实施挑战(完美解析)
  • Langchain-chatchat源码部署及测试实验
  • 【Linux】线程(第十六篇)