突破github的100M单个大文件上传限制

http://blog.csdn.net/tyro_java/article/details/53440666

偶尔把几本电子书传到github上,其中一本关于c++的有147M(在本地磁盘占用了150M空间),使用普通的方式,最终会被github 服务器拒绝。在github 官网上也有了相关说明,具体请查看:

  1. https://help.github.com/articles/working-with-large-files/
  2. https://help.github.com/articles/conditions-for-large-files/

简单的说,github 会在你上传文件大于50M的时候,给予警告 ; 大于100M的时候给出 server reject(拒绝上传)

解决方案
  • 维持单个文件在100M以内,保持原仓库,剔除单个文件大于100M的 
  • 突破github限制,支持单个文件超出100M (使用 Git LFS
    • 这也是无意中浏览解决问题的方案时看到的 有关Google Maps SDK的问题 
      这里给了我们一件终极武器: Git LFS 全名为:Git Large File Storage
    • Git LFS的官方网址在这里: https://git-lfs.github.com/,官网上有很详细的说明,现在来简单说下使用方式:先安装 Git LFS 的客户端,然后在将要push的仓库里重新打开一个bash命令行: 
      • 只需设置1次 LFS : git lfs install
      • 然后 跟踪一下你要push的大文件的文件或指定文件类型 git lfs track "*.pdf" , 当然还可以直接编辑.gitattributes文件
      • 以上已经设置完毕, 其余的工作就是按照正常的 add , commit , push 流程就可以了 : 
        1. git add yourLargeFile.pdf
        2. git commit -m "Add Large file"
        3. git push -u origin master
    • 备注: 我在push那本c++书的时候一些小细节: 
      ① 仓库从github上克隆时用的时HTTPS的方式,不是SSH(也可尝试使用这个,看下是否会成功)。 
      ② 在最终push的时候会打印出如下信息: 
      Git LFS: (0 of 0 files, 1 skipped) 0 B / 0 B, 147.30 MB skipped 
      乍一看,表面上是跳过了该文件,但是回到github上查看,真的push上去了 ,commit信息为: 
      C++ Primer Plus 完整版 中文版 第六版 影印版 无目录 有页数.pdf Add a 150M pdf file 9 minutes ago , 
      点击该文件查看,可看到:147 MB Stored with Git LFS 
      ③ 目前 Git LFS的总存储量为1G左右,超过需要付费。 
      这里写图片描述 
      ④ 小伙伴们快来试试吧 !

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Github上下载单个文件非常简单。首先,需要找到想要下载的文件所在的仓库。在该仓库的页面上,可以看到该文件的路径。复制这个路径,并打开一个浏览器。在浏览器的地址栏中粘贴这个路径,然后按下回车键。 然后,会自动跳转到一个新的页面,显示该文件的内容。在这个页面的右上角,找到一个绿色的按钮,上面写着“Download”(下载)。点击这个按钮,文件就会自动开始下载。 如果想要下载文件的特定版本,可以在该文件所在的页面左上角找到一个名为“Branch:master”的下拉菜单。点击这个下拉菜单,可以选择仓库的不同分支或标签。选择所需的分支或标签后,再次点击右上角的“Download”按钮,即可下载指定版本的文件。 另外,如果想要通过命令行界面(终端)下载文件,可以使用Git命令来实现。首先,需要安装并配置Git工具。然后,在终端中导航到希望存储文件的目录,并使用以下命令来下载文件: git clone 仓库的URL 这个URL是在Github仓库页面上找到的仓库的地址。运行这个命令后,就会在当前目录下创建一个与仓库同名的文件夹,并将整个仓库下载到这个文件夹中。如果只想下载单个文件,可以进入到相应的文件夹,并使用命令: git checkout 分支或标签名 -- 文件路径 其中,“分支或标签名”是想要下载文件的特定版本所在的分支或标签的名称,“文件路径”是该文件在仓库中的相对路径。运行这个命令后,就能在当前目录下找到并保存单个文件
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值