分享

Github上传大于100M文件:LFS

 宏基因组 2020-10-09

Git 简介

Git是目前世界上最先进的分布式版本控制系统。其原理如下所示:

首先我们安装git。官方下载位置 https:/// ,下载完成后我们按照普通软件安装即可:

安装完成之后我们的鼠标右键就会出现Git GUI/bash here选项:

创建项目并推送文件

首先我们来测试一下git上传普通文件的方法,为此我在github上新建了一个名为Test的项目

接下来进行本地目录操作,右键进行Git bash环境并运行如下代码:

mkdir Test
cd Test
echo "# Test" >> README.md#构造文件,用于测试
git init#初始化库
git add README.md#添加缓存
git commit -m "first commit"#添加版本记录
# 注意下面为你自己的账号,并会提示输入密码
git remote add origin https://github.com/taowenmicro/Test.git#链接远程库
git push -u origin master# 推送到远程库中

我们可以看到这是完全可以推出去的:如果首次运行,需要输入github账号密码。在弹出的位置对应输入就好了,完成测试。

推送大文件Git Large File Storage (LFS)

下面我使用SILVA_SSU_r132_March2018.RData数据库(153 Mb)演示大文件的上传方法:

Git Large File Storage (LFS) 是 GitHub 开发的 Git 扩展项目, 用于增强 Git 对大文件追踪的支持. 众所周知, Git 在储存二进制文件时, 非常缓慢, 因为 Git 默认会压缩和储存每一次提交的快照, 如果二进制文件很多, 会让Git 的 clone 效率变得非常低. Git LFS的诞生在 处理大型二进制文件的方式是用 “文件指针” 进行, 这些文本指针实际上是包含二进制文件信息的文本文件, 大小不到 1kb。文本指针存储在 Git 中,而大文件本身通过 HTTPS 托管在 Git LFS 服务器上。

首先我们需要下载Git LFS:https://git-lfs.github.com/

下载之后双击安装即可。

鼠标右键———-git bash:进入bash命令行界面:(在仓库文件夹中操作免去修改文件夹步骤)

运行:

git lfs install

使用github上的仓库更新一下本地仓库:

git pull origin master

使用 Git LFS 管理托管文件:

git lfs track "SILVA_SSU_r132_March2018.RData"

追踪文件 .gitattributes

git add .gitattributes

添加本地仓库:

git add SILVA_SSU_r132_March2018.RData
git commit -m "third commit"

push到Github上:

git push -u origin master

到Github上查看上传的文件,这是本次测试的地址:https://github.com/taowenmicro/Test

Reference

Git Large File Storage 初见指南 https://mp.weixin.qq.com/s/gyJlP_0O5UufvAUQaV_Scw

撰文:文涛 南京农业大学

责编:刘永鑫 中科院遗传发育所

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多