主页 > 互联网  > 

GitHubgitpush超过100MB大文件失败(writeerror:Brokenpipe)完美解决


问题

  在使用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官方说明👉

解决方案一 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

3、最后在重新使用git push推送代码到GitHub远程仓库中 git push 4、最后如果发现还是无法提交可以使用git命令撤回commit提交,找到超过100MB的文件进行删除​​​​​​​ #查询提交日志,获取提交headgit log #撤销commit到指定的版本,本地修改的文件不会变动git reset --soft 77e3f9eb02b96d7d2ea5def048fb4f1d07f19868

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

 

解决方案二

安装 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 参考文章

https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage

https://gitee.com/help/articles/4235#article-header0

标签:

GitHubgitpush超过100MB大文件失败(writeerror:Brokenpipe)完美解决由讯客互联互联网栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“GitHubgitpush超过100MB大文件失败(writeerror:Brokenpipe)完美解决