BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

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

| 作者 Sergio De Simone 关注 12 他的粉丝 ,译者 梁杰 关注 0 他的粉丝 发布于 2015年4月18日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

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)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT