Git 大文件存储 (LFS)

文章目录

  • [Git 大文件存储 (LFS)](#Git 大文件存储 (LFS))

Git 大文件存储 (LFS)

什么是 Git LFS?

官方:https://git-lfs.com/

官方文档: https://github.com/git-lfs/git-lfs/blob/main/docs/spec.md

Git LFS 是 Git 的扩展,它可提供用于描述提交到存储库中的大型文件的数据。 它会将二进制文件内容存储在单独的远程存储中。

当你在存储库中克隆和切换分支时,Git LFS 会从该远程存储下载正确的版本。 本地开发工具将以透明方式处理文件,就如同这些文件是直接提交到存储库一样。

Git LFS 的优势在于,无论你的团队创建哪种文件,均可使用他们熟悉的端到端 Git 工作流。 LFS 可处理大型文件,以免它们对整个存储库产生不利影响。

The core Git LFS idea is that instead of writing large blobs to a Git repository, only a pointer file is written.

Git LFS 的核心思想是,不是将大型 blob 写入 Git 存储库,而是只写入指针文件。

Git LFS 是一个 Git 扩展,允许用户通过在不同位置存储二进制文件来节省空间。

安装

使用 Git LFS 之前,您必须先在计算机上安装 Git LFS。您还需要设置 Git LFS 服务器

bash 复制代码
git lfs install

在要使用 Git LFS 的每个 Git 存储库中,选择希望 Git LFS 管理的文件类型(或直接编辑 .gitattributes)。您可以随时配置其他文件扩展名。

使用 git lfs track 命令查看和添加到 .gitattributes。

bash 复制代码
git lfs track "*.psd"

确保 .gitattributes 被跟踪:

bash 复制代码
git add .gitattributes
bash 复制代码
*.out filter=lfs diff=lfs merge=lfs -text
*.so filter=lfs diff=lfs merge=lfs -text

filter=lfs 表示使用 Git LFS 过滤器,diff=lfs 表示在差异比较时将使用 LFS 过滤后的指针,merge=lfs 表示合并时也会使用 LFS 过滤后的指针,而 -text 则表示这些文件应该被视为二进制文件,而非文本文件。

使用

如果你的 Git 仓库使用了 Git LFS(Large File Storage),在执行 git pull 之后,你通常需要单独执行 git lfs pull 来下载 LFS 管理的文件。

执行 git pull:

bash 复制代码
git pull

执行 git lfs pull:

bash 复制代码
git lfs pull

在执行 git lfs pull 之前,使用以下命令查看当前 LFS 文件的状态:

bash 复制代码
git lfs ls-files

参考

微软官方文档: https://learn.microsoft.com/zh-cn/azure/devops/repos/git/manage-large-files?view=azure-devops

gitlab官方文档:Git 大文件存储 (LFS)

参考URL: https://docs.gitlab.cn/jh/topics/git/lfs/index.html

相关推荐
不老刘13 小时前
Antigravity 的 New Worktree 模式:给 AI 代理一个安全的“平行工位”
人工智能·git·ai编程·antigravity
光谱SpectrAI13 小时前
Windows 也中招:Git Bash 和 Node 仍信任泄露的 eMudhra 证书
git
YIN_尹14 小时前
【git原理与使用】git初识与安装
大数据·git·elasticsearch
Leo_Mr18 小时前
Vue3 项目配置 Git 提交规范(企业通用方案:husky + commitlint + cz-git + lint-staged)
git
jyOverQ19 小时前
Git rebase 和 merge 有什么区别?什么时候该用哪个?
git
晗夜未央19 小时前
跨仓库 Skill 换台电脑就失效?用 Git remote 校验项目
人工智能·git·python
Lsetea19 小时前
Git访问HTTPS证书不受信任:用URL级sslCAInfo限定私有CA范围
git·https·开发工具·ssl证书·ca证书
এ慕ོ冬℘゜1 天前
Git 基础入门|和 SVN 对比 + 四大区域 + 常用命令详解
git·svn
DevLoom_2 天前
macOS 命令行 curl/git 报 SSL 证书错误?eMudhra 事件完整修复指南
git·macos·ssl
keyipatience2 天前
Git学习(4)Git分布式优势与实战配置全解析
git·学习