Git大文件存储将帮助Git处理大型二进制文件

2015 年 4 月 17 日

GitHub 宣布,作为开源的 Git 扩展,Git 大文件存储(Large File Storage,简称 LFS)的目标是更好地把“大型二进制文件,比如音频文件、数据集、图像和视频”集成到 Git 的工作流中。

众所周知,Git 在存储二进制文件时效率不高,因为:

Git 默认会压缩并存储二进制文件的所有完整版本,如果二进制文件很多,这种做法显然不是最优。

Git LFS 处理大型二进制文件的方式是用“文本指针”替换它们。这些文本指针实际上是包含二进制文件信息的文本文件。文本指针存储在 Git 中,而大文件本身通过 HTTPS 托管在 Git LFS 服务器上。

Git LFS 向 Git 中添加了一条新命令lfs,支持以下参数:

  • config:显示 Git LFS 的配置。
  • init:初始化 Git LFS。
  • logs:显示 git-lfs 中的错误。
  • track:向 Git 仓库中添加一个大文件;允许指定文件扩展名。
  • untrack:从 Git LFS 中移除一个文件。
  • push:把当前监控的文件推送到 Git LFS 服务器。
  • status:显示产生改动的 Git LFS 对象的路径。

如果要向现有仓库中添加一个大文件,你可以:

复制代码
git lfs track "*.pdf"
git add file.pdf
git commit -m "Add design file"
git push origin master

根据 GitHub 官方消息,目前 Git LFS 服务器 API 的实现只有两种:引用服务器实现以及GitHub.com,后者目前还不可用。GitHub 已经公布了免费的LFS 计划,最多允许“1GB 免费文件存储空间和每月1GB 流量”。容量更大的套餐需要付费,但是具体费用还未公布。

在Git LFS 出现之前,开发者就已经可以使用 git-annex 管理大型二进制文件。后者是一个 Git 扩展,原理和 Git LFS 类似,把文件内容存储在.git/annex 中,而把对应位置的符号链接存储在 Git 仓库中。

查看英文原文: Git Large File Storage Promises to Extend Git to Large Binary Files


感谢邵思华对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流。

2015 年 4 月 17 日 09:09 8720

评论

发布
暂无评论
发现更多内容

作业-食堂就餐卡系统设计

solike

极客大学架构师训练营

作业-2020-9-20

芝麻酱

极客大学架构师训练营

架构师方法论

wing

极客大学架构师训练营

关于软件建模语言UML总结

solike

极客大学架构师训练营

架构师训练营第一期第一周课后作业

cyningchen

架构师训练营第一期

「架构师训练营第 1 期」第一周作业(作业一)

Geek_83908e

极客大学架构师训练营

食堂就餐卡系统设计

饭桶

第一周学习总结

jizhi7

极客大学架构师训练营

架构师训练营 - week1 - 学习总结

month

极客大学架构师训练营

架构师训练营第一周心得

CmHuang

食堂就餐卡系统设计

积极&丧

计算机网络学习笔记:计算机网络和因特网

Liuchengz.

计算机网络

架构师训练营第一周作业

Erwa

极客大学架构师训练营

Week 1 學習總結 (Christy羅同學)

--------世界中心---------

架构师训练营第1期-Week1 架构方法学习总结

鲁小鲁

软件工程 极客大学架构师训练营 UML 架构方法

架构训练营1期-第1周练习

balsamspear

第一周命题作业 架构师训练营第一期

第一周学习总结

mm马

极客大学架构师训练营

食堂就餐卡系统设计

ABS

架构师训练营第一期第一周总结

cyningchen

架构师训练营第一期

架构师训练营-第一周学习总结

Geek_5c3f14

架构师

食堂就餐卡系统设计

行者

Week 1 作業一:食堂就餐卡系統設計 (Christy羅同學)

--------世界中心---------

架構師 極客大學 女程序員

UML for Cafeteria System

第一周 UML图

mm马

就餐卡系统设计

golangboy

极客大学架构师训练营

第一周学习总结

饭桶

第一周课程学习总结

Meow

极客大学架构师训练营 第一周总结

极客时间架构1期:第1周架构方法-学习总结

Null

架构师训练营 第一周作业

haha

极客大学架构师训练营

极客食堂就餐卡系统设计

IT老兵重开始

极客大学架构师训练营 第一周命题作业

独孤求败的五把剑,三个人生阶段 -Week1- 学习总结

小粽

跨越计算鸿沟:如何靠软硬件协同突破算力瓶颈?

跨越计算鸿沟:如何靠软硬件协同突破算力瓶颈?

Git大文件存储将帮助Git处理大型二进制文件-InfoQ