GitHub宣布,作为开源的Git扩展,Git大文件存储(Large File Storage,简称LFS)的目标是更好地把“大型二进制文件,比如音频文件、数据集、图像和视频”集成到Git的工作流中。 众所周知,Git在存储二进制文件时效率不高,因为:
Git LFS处理大型二进制文件的方式是用“文本指针”替换它们。这些文本指针实际上是包含二进制文件信息的文本文件。文本指针存储在Git中,而大文件本身通过HTTPS托管在Git LFS服务器上。 Git LFS向Git中添加了一条新命令
如果要向现有仓库中添加一个大文件,你可以: 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 |