github会拒绝上传超过100MB的文件,所以需要使用git LFS
-
安装Git LFS
添加 Git LFS 的官方 APT 仓库
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
安装 Git LFS
sudo apt-get install git-lfs
初始化Git LFS
git lfs install
-
告诉 Git LFS 要管理哪些文件
使用 git lfs track 命令来"注册"您想要用 LFS 管理的文件类型。这个命令会创建或修改一个名为 .gitattributes 的文件,来记录这些规则。
# 告诉 Git LFS,所有 .rknn 文件都由你来管理
git lfs track "*.rknn"
# 告诉 Git LFS,所有 .onnx 文件也由你来管理
git lfs track "*.onnx"
执行后,您会看到类似 Tracking "*.rknn" 的提示。现在,您的项目里应该有一个 .gitattributes 文件,内容如下:

- 修改 .gitignore 文件
之前上传的时候使用了ignore忽略了这些大文件的上传,现在我们要移除掉

-
添加、提交和推送
添加 .gitattributes 文件,让 LFS 规则生效
git add .gitattributes
添加 .gitignore 的修改
git add .gitignore
现在,添加您的大文件
您可以一个个加,也可以用通配符
git add OCSORT_test/.rknn
git add OCSORT_test/.onnx别忘了您其他的代码文件
git add .
检查一下状态,确保所有文件都已暂存
git status

推送以后报错:

刚才执行的
git push origin test,成功地把一个"包裹清单"(您的 Git 提交记录和 LFS 指针文件)发给了 GitHub。这个清单非常小(1.31 KiB),所以发送得很快。GitHub 服务器收到清单后,核对了一下,然后回复您:"嘿,你的清单我收到了,上面写着有4个大包裹(LFS objects)。但是我查看了我的仓库,并没有收到这4个大包裹的实体。你得先把它们寄给我才行。"
这个错误的意思是:Git 的提交记录已经推送过去了,但是 LFS 管理的大文件实体还没有被上传。
-
单独推送LFS文件
git lfs push --all origin test
git lfs push: 告诉 Git 我们要执行一个 LFS 的推送操作。--all: 一个强大的选项,它会检查您本地所有分支中,有哪些 LFS 文件是远程 LFS 服务器上没有的,然后把它们全部上传。origin test: 指定您要推送到的远程仓库和分支。
