git 如何上传大文件
git 一般限制上传最大文件大小为 100M
一、安装lfs
# mac下请使用homebrew安装:
brew install git-lfs
# linux(unbuntu)下安装:
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
apt-get install git-lfs
二、使用lfs
# 1. 安装完成后,首先先初始化;如果有反馈,一般表示初始化成功
git lfs install
# 2. 如果刚刚下载的那个项目没啥更改,重新下一遍,不算麻烦事(因为下载大文件,一般会比较慢)
git lfs clone https://github.com/AABBBCC/aaa.git
# 在下载的过程中,你也可以查看一下,你刚刚无法解析的那个pkl大文件,是不是在这个项目中,(进入项目目录)使用如下指令:
cd aaa
git lfs track
# 3. 如果不想重新下载整个项目,可以使用如下命令,单独下载需要使用lfs下载的大文件。
git lfs fetch
git lfs checkout
#(备选:git lfs pull),不建议
上传配置
cd xxx #'xxx'是你本地仓库目录
设置LFS要管理的文件类型
# 因为我是zip模型文件过大,所以我的命令是*.zip,此处需要根据自己情况设定类型
$ git lfs track "*.zip"
执行完上面的命令后,会生成一个.gitattributes文件
,要将其上传到远程git仓库。这里我把.gitattributes
和大文件分开上传
$ git add .gitattributes
$ git commit -m '提交 .gitattributes 文件'
$ git push origin master(如果提交不了,后面可以加一个-f)
上传大文件
$ git add . # 根据自己情况更改
$ git commit -m "upload large files"
git push origin master(如果提交不了,后面可以加一个-f)
问题处理
错误1
WARNING: Authentication error: Authentication required: LFS only supported repository in paid enterprise.
处理
# 注: 命令中的{your_gitee}/{your_repo}是你的远程仓库地址,根据自己情况替换
git config lfs.https://gitee.com/{your_gitee}/{your_repo}.git/info/lfs.locksverify false
错误2
batch response: LFS only supported repository in paid enterprise.
处理
尝试删除./git/hooks/pre-push文件
rm .git/hooks/pre-push
错误3
batch response: LFS only supported repository in paid or trial enterprise.
处理
# 修改提交缓存大小为500M
git config --global http.postBuffer 524288000
# 或者设置更大的 1G
git config --global http.postBuffer 1048576000
尝试删除./git/hooks/pre-push文件
rm .git/hooks/pre-push
之后再重新进行push提交