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
GitHub 教程系列文章:
GitHub 使用教程图文详解 http://www.linuxidc.com/Linux/2014-09/106230.htm
Git 标签管理详解 http://www.linuxidc.com/Linux/2014-09/106231.htm
Git 分支管理详解 http://www.linuxidc.com/Linux/2014-09/106232.htm
Git 远程仓库详解 http://www.linuxidc.com/Linux/2014-09/106233.htm
Git 本地仓库(Repository)详解 http://www.linuxidc.com/Linux/2014-09/106234.htm
Git 服务器搭建与客户端安装 http://www.linuxidc.com/Linux/2014-05/101830.htm
Git 概述 http://www.linuxidc.com/Linux/2014-05/101829.htm
分享实用的GitHub 使用教程 http://www.linuxidc.com/Linux/2014-04/100556.htm
Git 的详细介绍:请点这里
Git 的下载地址:请点这里
本文永久更新链接地址:http://www.linuxidc.com/Linux/2015-04/116440.htm