Git - push超过100M大文件到远程仓库

push超过100M大文件到远程仓库

在用sourcetree提交项目文件到github远程仓库时遇到了下面错误:

remote: error: GH001: Large files detected. You may want to try Git Large File Storage - https://git-lfs.github.com.
remote: error: Trace: 4bf53b66a28bfba7ec3396a3fc8e274f
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File client/bin/Debug版本_视频点播器1.0/debug/QtGuid4.dll is 160.99 MB; this exceeds GitHub's file size limit of 100.00 MB
To github.com:wensmq/videoPlay.git
! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:wensmq/videoPlay.git'

解释:

远程:错误:GH001:检测到大文件。您可能想尝试Git大文件存储  —    https://gitlfs.github.com。
远程:错误:跟踪:4bf53b66a28bfba7ec3396a3fc8e274f
remote: error:参见http://git。更多信息请访问io/iEPt8g。
远程:错误:文件客户/ bin /调试版本_视频点播器1.0 /调试/ QtGuid4.dll 160.99 MB;这超过了GitHub文件大小限制100.00 MB
github.com: wengxxx / videoPlay.git
![远程拒绝]主控->主控(预接收钩子拒绝)
错误:未能将一些参考文件推送到“[email protected]:wengxxx/videoPlay.git”

简单的说,github 会在你上传文件大于50M的时候,给予警告 ; 大于100M的时候给出 server reject(拒绝上传)

解决方案:

1.维持单个文件在100M以内,保持原仓库,剔除单个文件大于100M的,个人觉得这种方案不能根本解决这个问题,建议使用第二种方案。

2.突破github限制,支持单个文件超出100M (使用 Git LFS)

这里给了我们一个很好的处理方案: Git LFS 全名为:Git Large File Storage
Git LFS的官方网址在这里: https://git-lfs.github.com/ ,官网上有很详细的说明,现在来简单说下使用方式:先安装 Git LFS 的客户端,然后在将要push的仓库里重新打开一个bash命令行

  • 只需设置1次 LFS :
git lfs install
  • 然后 跟踪一下你要push的大文件的文件或指定文件类型,当然还可以直接编辑.gitattributes文件。(我这里跟踪的 dll 结尾的文件)
git lfs track "*.dll" 
  • 确保跟踪.gitattributes :
 git add .gitattributes

以上已经设置完毕, 其余的工作就是按照正常的 add , commit , push 流程就可以了 :

git add yourLargeFile.pdf
git commit -m "Add Large file"

我是使用 git bash 来对大文件进行跟踪操作后再用sourcetree提交项目,这样就不会报错啦
Git - push超过100M大文件到远程仓库_第1张图片
Git - push超过100M大文件到远程仓库_第2张图片
参考:
https://blog.csdn.net/tyro_java/article/details/53440666

你可能感兴趣的:(Git,git,提交大文件)