GitHub git push超过100MB大文件失败(write error: Broken pipe)完美解决

简介: GitHub git push超过100MB大文件失败(write error: Broken pipe)完美解决

问题

  在使用git push推送大文件(超过了100MB)到GitHub远程仓库时提示异常,异常信息如下:

fatal: sha1 file '<stdout>' write error: Broken pipe

fatal: the remote end hung up unexpectedly

通过查阅了一些资料,我发现是因为GitHub对提交的文件大小做了限制,GitHub会阻止超过100 MB的推送(单文件),检查了一下我提交的文件中有一个超过200MB的文件。

GitHub官方说明👉

1336199-20211211223933483-730942906.png

解决方案一

1、将本地 http.postBuffer 数值调整到GitHub服务对应的单次上传大小配置

注意:我这里设置的是500MB(大家可以根据自己的需要设置)。

http.postBuffer默认单位为B(字节),所以500MB=1024*1024*500。

# 方法一:全局配置
git config --global http.postBuffer 524288000
或者
# 方法二:当前仓库配置
git config http.postBuffer 524288000

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

# 查看当前的Git配置

git config --list

1336199-20211211225658019-1771710753.png

3、最后在重新使用git push推送代码到GitHub远程仓库中

git push

4、最后如果发现还是无法提交可以使用git命令撤回commit提交,找到超过100MB的文件进行删除

#查询提交日志,获取提交head
git log
#撤销commit到指定的版本,本地修改的文件不会变动
git reset --soft 77e3f9eb02b96d7d2ea5def048fb4f1d07f19868

1336199-20220108115532254-2058532861.png

找到你提交的文件中超过100MB的文件进行删除,然后重新添加,提交即可。

1336199-20220108115647631-1775563768.png


解决方案二

1336199-20220108122858801-2101462611.png

安装 Git 大文件存储(Git LFS)

什么是LFS?

  Git LFS(Git Large File Storage),即Git大文件存储技术,相当于Git的一种插件式增强工具,简单讲,它是在Git仓库使用这些文件的 指针代替 实际文件,而把实际文件存储在远程端LFS服务器,同时在本地仓库中实时追踪这些文件的变动。

1、下载Git Large File Storage(Git LFS)

Git LFS Windows Installer

2、在您的计算机上,找到下载的文件双击安装

  双击名为git-lfs-windows-1.XXexe 的文件,其中 1.XX 替换为您下载的 Git LFS 版本。当你打开这个文件时,Windows 会运行一个安装向导来安装 Git LFS。

3、打开Git Bash,验证安装是否成功

$ git lfs install
> Git LFS initialized.

4、将您当前的工作目录更改为您希望与 Git LFS 一起使用的现有存储库

5、要将存储库中的文件类型与 Git LFS 关联,请输入git lfs track后跟要自动上传到 Git LFS 的文件扩展名的名称

例如,要关联.psd文件,请输入以下命令:

$ git lfs track "*.psd"
> Adding path *.psd

您想与 Git LFS 关联的每种文件类型都需要添加git lfs track. 此命令修改存储库的.gitattributes文件并将大文件与 Git LFS 关联。

提示:我们强烈建议您将本地.gitattributes文件提交到您的存储库中。依赖与 Git LFS 关联的全局.gitattributes文件可能会在为其他 Git 项目做出贡献时导致冲突。 

6、将文件添加到与您关联的扩展名匹配的存储库

$ git add path/to/file.psd

7、提交文件并将其推送到 GitHub

$ git commit -m "add file.psd"
$ git push

您应该会看到相关文件上传的进度信息:

> Sending file.psd
> 44.74 MB / 81.04 MB 55.21 % 14s
> 64.74 MB / 81.04 MB 79.21 % 3s


相关文章
|
19天前
|
人工智能 API 开发工具
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
GitHub MCP Server是基于Model Context Protocol的服务器工具,提供与GitHub API的无缝集成,支持自动化处理问题、Pull Request和仓库管理等功能。
322 2
GitHub官方开源MCP服务!GitHub MCP Server:无缝集成GitHub API,实现Git流程完全自动化
|
15天前
|
文字识别 网络协议 开发工具
GitHub封锁?推荐5个国产的Git仓库替代平台
近日,GitHub对中国区IP的部分限制引发了广泛关注。未登录用户被拒,已登录用户功能受限,南北网络环境差异更显“内卷”。为应对这一挑战,本文推荐了多个国产Git平台:Gitee(码云)、GitCode(CSDN旗下)、CODING(腾讯系)、CodeUP(阿里云支持)及微信代码管理工具。这些平台功能全面、稳定性强,是开发者迁移项目的理想选择。通过同步代码、配置CI/CD流水线等简单步骤,可确保项目平稳过渡。此次事件提醒我们,掌握核心技能与支持国产平台同样重要!
136 11
|
24天前
|
安全 Linux 网络安全
在Linux(CentOS和AWS)上安装更新的git2的方法并配置github-ssh
经过以上这些步骤,你现在就能在GitHub上顺利往返,如同海洋中的航海者自由驰骋。欢迎你加入码农的世界,享受这编程的乐趣吧!
55 10
|
3月前
|
开发工具 git
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
278 69
如何操作github,gitee,gitcode三个git平台建立镜像仓库机制,这样便于维护项目只需要维护一个平台仓库地址的即可-优雅草央千澈
|
2月前
|
开发工具 git 索引
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
87 28
|
2月前
|
网络安全 开发工具 git
解决 Git 访问 GitHub 时的 SSL 错误
通过上述步骤,可以有效解决 Git 访问 GitHub 时的 SSL 错误。推荐优先更新 CA 证书和正确配置 Git 使用 CA 证书,避免禁用 SSL 验证。如果问题持续,可以切换到 SSH 方式访问 GitHub,确保连接的安全性和稳定性。希望这些内容对您的学习和工作有所帮助。
251 3
|
3月前
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
171 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
3月前
|
前端开发 Java 开发工具
Git使用教程-将idea本地Java等文件配置到gitte上【保姆级教程】
本内容详细介绍了使用Git进行版本控制的全过程,涵盖从本地仓库创建到远程仓库配置,以及最终推送代码至远程仓库的步骤。
102 0
|
2月前
|
开发工具 git C++
【够用就好002】外行第一次发布github项目仓库
#deepseek#自学 记录外行学习代码的历程 今天是上传自己的工具代码到github仓库,一直以来是伸手党克隆别人的项目,今天在deepseek的辅导下上传自己的内容。
|
1月前
|
开发工具 git
vscode推送项目到github仓库故障解决1
本文介绍了如何优雅解决本地仓库与远程仓库历史记录不一致的问题,并提供避免未来问题的最佳实践。核心在于理解问题根源(如历史记录差异和常见原因),采用推荐的解决方案(先本地初始化再关联远程仓库),并遵循一致的工作流程、团队协作规范及熟悉 Git 命令。通过强制推送或合并无关历史记录等方式处理现有冲突,同时养成良好习惯以预防类似问题。

热门文章

最新文章

下一篇
oss创建bucket