git提交大文件报错解决方案

  • 1、http.postBuffer
  • 2、Git LFS
    • 安装及配置git lfs
    • 1.在Git仓库中为仓库设置相关配置
    • 2.选择要用LFS追踪的文件
    • 3.查看正在被LFS追踪的文件
    • 4.放弃追踪某个文件
    • 5.配置完需要追踪的文件后要先提交到git仓库
    • 6.取消LFS的全局配置

我最近帮朋友扒网站时,因为很多视频都在保存在本地,上传git仓库时报错了,看了下错误信息,大概意思是文件太大了,超过git的限制了,这里简单记录一下解决方法。

1、http.postBuffer

http.postBuffer默认单位为B,所以500MB=10241024500
注意:我这里设置的是500MB(大家可以根据自己的需要设置)。

 # 全局配置git config --global http.postBuffer 524288000或# 当前仓库配置git config http.postBuffer 524288000

查看 http.postBuffer数值是否设置成功:

 # 查看当前的Git配置git config --list

或者直接找.git文件里的config文件手动写入并保存

注: 但是可能有些人设置不会生效,具体咋回事我也不清楚

但是呢, http.postBuffer不好使也别慌

不要慌不要慌,太阳下山有月光,泡面吃完还有汤


2、Git LFS

Git LFS是基于Git的 .gitattributs 配置文件的特性,用 smudge过滤器基于 指针文件寻找大文件内容, 用 clean过滤器在对大文件改动时,创建指针文件的新版本。同时还用 pre-push钩子将大文件上传到Git LFS服务器, 即在 git-push时, 如果提交中包含被LFS跟踪的大文件,pre-push钩子会检测到,并执行上传Git LFS服务器的动作。

安装及配置git lfs

我用的windows系统就直接开搞了,其他系统的去看官方吧GIT LFS

1.在Git仓库中为仓库设置相关配置

 git lfs install

这个命令会自动改变Git配置文件 .gitconfig,而且是全局性质的,会自动在配置文件中增加如下配置:
[filter “lfs”]
clean = git-lfs clean – %f
smudge = git-lfs smudge – %f
process = git-lfs filter-process
required = true

2.选择要用LFS追踪的文件

 git lfs track "*.mp4"# 或者具体到某个文件git lfs track "1.png"git lfs track "demo.lfs"

这个命令会更改仓库中的 .gitattributes配置文件(如果之前不存在这个文件,则会自动新建):
查看如下:
$ cat .gitattributes
*.svg filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text

3.查看正在被LFS追踪的文件

 // 查看现有的文件追踪模式(查看使用)git lfs track// 显示当前跟踪的文件列表(查看使用)git lfs ls-files

4.放弃追踪某个文件

 git lfs untrack "1.png"

5.配置完需要追踪的文件后要先提交到git仓库

 git add .gitattributesgit commit -m "add .gitattributes"

使用git-lfs会生成.gitattributes文件,这个文件需要被上传到远程仓库
在上传.gitattributes文件之前不要commit被跟踪的大文件到git,会导致大文件上传失败。

6.取消LFS的全局配置

 git lfs uninstall

也可以直接打开.gitattributes修改里面的内容。

 #允许提交.mp4为后缀的大型文件*.mp4 filter=lfs diff=lfs merge=lfs -text

如果一个仓库中包含LFS内容,但是在推送时不想推送这类文件,只要加上 --no-verify选项就行

 // --no-verify选项告诉 git push完全跳过 pre-push钩子。git push --no-verify

被LFS管理的文件,本地仓库中保存的内容实际上是指针文件,其格式类似于下面这样:

 git show HEAD:2.svg// version表示LFS的版本// oid表示文件对象的唯一hash值// size表示文件的大小version https://git-lfs.github.com/spec/v1oid sha256:158213f90f8b27012034c6f58db63e1861b12aa122d98910de311bf1cb1e50a0size 14651

注: LFS是面对企业级的收费项目,若你得团队有钱那就买,肯定是花钱越多空间越大

如果是自己用,那就找一些免费的git仓库我这里用的CODING它内置lfs,好像花钱可以扩充空间,没咋注意,反正能玩

git提交大文件报错解决方案相关推荐

  1. mysql导入SQL大文件报错解决方案

    今天在还原mysql备份文件时报错,试错过程中找到了解决办法 现分享如下 解决方案 一.修改MySQL配置 my.ini配置文件修改 一般在C:\ProgramData\MySQL\MySQL Ser ...

  2. JMeter 报告监听器导入.jtl结果文件报错解决方案

    JMeter 报告监听器导入.jtl结果文件报错解决方案   by:授客 QQ:1033553122   1. 问题描述 把jmeter压测时生成的 .jtl结果文件导入监听器报告中,弹出如下错误提示 ...

  3. Spring MVC实现上传文件报错解决方案

    Spring MVC实现上传文件报错解决方案 参考文章: (1)Spring MVC实现上传文件报错解决方案 (2)https://www.cnblogs.com/liuling/p/2014-3-5 ...

  4. git提交大文件的解决方法

    git提交大文件的解决方法 参考文章: (1)git提交大文件的解决方法 (2)https://www.cnblogs.com/perryxiong/p/5606525.html 备忘一下.

  5. Python——CSV读取大文件报错_csv.Error: field larger than field limit

    Python--CSV读取大文件报错_csv.Error: field larger than field limit 使用Python读取较大的csv文件时,可能出现大字段,导致超过字段默认限制,从 ...

  6. eclipse 新建 jsp文件 or servlet文件报错解决方案

    文章目录 前言 新建 JSP 报错 项目场景: 解决方案: 第一步:打开Markers 第二步:选择Build Path 第三步:添加库 第四步:应用 新建 Servlet文件报错 项目场景: 解决方 ...

  7. Maven项目pom文件报错解决方案

    引入maven项目后,有时会出现pom文件报错的情况,其中几种报错的解决方案如下 一.      报错信息: org.apache.maven.archiver.MavenArchiver.getMa ...

  8. Eclipse中使用git提交代码,报错Testng 运行Cannot find class in classpath的解决方案

    一.查找原因方式 1.点击Project-->Clear...-->Build Automatically 2.查看问题 二.报错因素 1.提交.xlsx文件 2.提交时,.xlsx文件被 ...

  9. git 大文件报错Out of memory, malloc failed、 The remote end hung up unexpectedly

    git  clone出现 "fatal: The remote end hung up unexpectedly" 设置 git config --global http.post ...

最新文章

  1. 网络营销之微微博营销
  2. Vijos1451圆环取数[环形DP|区间DP]
  3. canopen服务器协议,CANopen
  4. [InfoPath] 如何配置实现InfoPath的大小类的联动和信息查询?
  5. 译Step-by-Step Guide on Configuring Django-Userena
  6. java+中的final关键字有哪些用法_Java中的Final关键字用法汇总及简单示例
  7. 【今日CV 计算机视觉论文速览】Fri, 8 Mar 2019
  8. vue中axios设置表单头_VUE项目axios请求头更改Content-Type操作
  9. Android学习笔记---开发与运行(卸载)第一个ANDROID应用--Helloworld
  10. opencv学习笔记01
  11. kahn是什么牌子_老佛爷百货
  12. 不登录mysql 执行sql_不登录到MySQL执行SQL语句
  13. Session Cookie 之我见
  14. centos php ioncube_CentOS 7安装ionCube Loader为php解密组件的方法
  15. IP地址如何分的五类
  16. 循环小数是分数集合吗_无限循环小数都可以化成分数吗
  17. 2020年测试面试经历以及面试题大全
  18. Fluke DTX-CHA001/DTX-CHA001A/DTX-CHA002的区别
  19. 初始C语言——梦启程的地方
  20. 【2017戴尔科技峰会剧透】智能制造在“希望的田野”上

热门文章

  1. Mysql多对多查询
  2. JS延迟加载的几种方式
  3. mysql删除语句大全(上)drop delete turncate
  4. fabric 图形放大后边框保持不变
  5. 国内常用dns服务器
  6. python 接口测试例子
  7. php-4.4.0,PHP-Bcmul报告0
  8. 《android多媒体api》之MediaPlayer自定义视频播放器
  9. 快付生态开发积分交易核心源码段
  10. JavaScript设计模式 - 观察者模式