学习工作中,有时会遇到需要将一些资源上传到GitHub的仓库(repository)上去,比如一些训练完的模型。但GitHub对于直接上传的文件有大小限制,超过100M的文件需要使用Git LFS才能上传。以下是我根据各位大神和自己的实操经历,总结的上传流程。
如何在GitHub上传大文件(≥100M)
- 一、下载Git客户端
- 二、下载Git LFS (Git Large File)客户端
- 三、上传文件
一、下载Git客户端
1、官网链接:https://git-scm.com/downloads/
2、安装过程:
基本上是一路默认Next,除了(以下步骤根据版本不同会有差别,但基本相同):
(1) 选择是否添加快捷方式到桌面
其中桌面浏览(Windows Explorer integration):选择浏览源码的方法,使用bash 或者Git GUI工具。
(2) 根据自己的情况,选择程序的安装目录
(3) 开始菜单快捷方式目录:设置开始菜单中快捷方式的目录名称, 也可以选择不在开始菜单中创建快捷方式。
(4) 设置环境变量,选择使用何种命令行工具,有三个选项:Git自带的Git Bash命令行工具、Windows系统的命令行工具、两者都要。一般默认使用Git Bash就可以了。
3、安装完毕
在开始菜单可以看到:
二、下载Git LFS (Git Large File)客户端
1、官网链接:https://git-lfs.github.com/
2、安装:双击安装应用程序,然后自行选择安装目录即可。如:
三、上传文件
1、准备工作:
(1)在电脑中自选目录新建一个文件夹(例:D:/Git/test3);
(2)在GitHub上新建一个仓库(Repositories),GitHub有官方教程:
2、打开Git Bash,进入刚刚新建的文件夹:
1 | cd /d/Git/test3 |
回车
3、初始化仓库:
1 | git init |
回车,就会出现:
这个时候你打开你刚刚新建的文件夹,就会看到生成一个新的 .git文件夹(如果看不到,可能是被隐藏起来了,找到上方菜单中“隐藏的项目”,打勾就行了。)
4、安装git lfs(一个仓库里面执行一次就好了)
1 | git lfs install |
回车
5、将需要上传的文件放置test3文件夹中,跟踪一下你要上传(push)的文件或指定文件类型(以指定文件model.h5为例)
1 | git lfs track "*.h5" 或者 git lfs track "model.h5" |
回车
6、添加.gitattributes(配置文件,缺少它执行其他git操作可能会有问题,具体作用不详述)
1 | git add .gitattributes |
回车
PS:最终上传完毕后会在GitHub上看到:
7、添加要上传(push)的文件
1 | git add model.h5 |
(如果文件名中间有空格,用双引号引起来,如git add “CNN model.h5”) 回车
8、提交(commit)
1 | git commit -m “任意文字” |
回车
PS:题外话,“任意文字”是用于最终上传成功后github上文件的描述:
9、将本地与新建仓库进行配对
1 | git remote add origin https:github.com/H****/****.git |
回车
获取仓库地址:
10、生成密钥,放在远程仓库
1 | ssh-keygen -t rsa -C 38*******@qq.com |
回车
会出现下图,回车三次即可
打开新生成密钥的文件的地址,可以看到:
用写字板打开id_rsa.pub文件并复制其中内容。
11、在GitHub上新建SSH key
操作:
(1)
(2)
12、让上传看起来更连续,而不是多出很多无用的merge commit
1 | git pull --rebase origin master |
回车
13、正式上传
1 | git push -u origin master |
回车(静静等待即可,会受网络影响,最好不要使用VPN)
14、上传成功