在linux系统下上传到远程服务器要求文件小于100m,否则会提示文件过大的并造成上传失败

报错信息

]#git push

remote: warning: Large files detected.
# remote: warning: File big_file is 100.00 MB; this is larger than GitHub's recommended maximum file size of 100 MB

解决方法1 

使用git lfs

LFS是Large File Storage的缩写,用了帮助git管理大的文件

原理:不同于git每次保存diff,对于git来说,如果是模型或者一些设计大文件,改变一点,对于仓库来说会增加很大的体积,不一会就能几个G。对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积
 

安装git lfs

安装环境:Linux Centos7

可以按照github上提供的安装方法,运行下列命令进行安装:

curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.rpm.sh | sudo bash

sudo yum install git-lfs

提示 :使用上面的安装方式可能会出现问题,导致找不到这个命令git lfs,推荐使用下列方法

使用rpm包安装,从在官网下载安装包安装,安装方法如下:

[lfs官网]https://packagecloud.io/github/git-lfs

[下载lfs安装包]

wget --content-disposition https://packagecloud.io/github/git-lfs/packages/el/6/git-lfs-2.8.0-1.el6.src.rpm/download.rpm

[安装] 

rpm -ivh xxx.rpm

[安装依赖,非必选]

yum -y install git-lfs

[lfs使用方式]

使用git clone https://github.com/账户名称/仓库名称   克隆仓库到本地

进入到这个目录下,初始化环境

git lfs install

输除Git LFS initialized说明安装成功

接着指定较大的文件,大于100m的文件,使用命令追踪文件,前者指定单个文件后者指定所有以这个后缀名结尾的文件,

输入命令后会在目录下创建一个隐藏文件.gitattributes用于描述追踪信息

git lfs track 文件名

或者

git lfs track '*.后缀名'

[上传github]

lfs 配置到这里就结束了,接着就是git命令了

git add  --all

git commit -m 'xxx'

git push 

 

 

解决方法2

清除缓存,这个方法本质上无法上传大于100m的文件只能,只能文件过大的文件清除缓存

使用 `du -sh 文件名` 查看文件大小

$git rm --cached 文件名
# Stage our giant file for removal, but leave it on disk
 
$git push
# Push our rewritten, smaller commit  

 

解决方法3

这个方法博主试过好像没有用,大家可以试一下,就是修改git配置文件让他可以上传更大的文件,下面调成可以上传500M一下的文件

git config http.postBuffer 524288000

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐