[Git] 处理 github 不允许上传超过 100MB 文件的问题 您所在的位置:网站首页 16259fda7eae30caapk [Git] 处理 github 不允许上传超过 100MB 文件的问题

[Git] 处理 github 不允许上传超过 100MB 文件的问题

2024-07-13 01:08| 来源: 网络整理| 查看: 265

[Git] 处理 github 不允许上传超过 100MB 文件的问题 2017年2月4日

screen-shot-2017-02-04-at-9-10-20-pm 最近在使用 Github 时候遇到一个问题,有一些过大的文件不允许上传,例如: remote: error: File Examples/iOSDemo/Pods/dependency/libg2o.a is 440.12 MB; this exceeds GitHub's file size limit of 100.00 MB

但有的时候我们还是需要上传这些大文件,这时候怎样做呢?

1、移除错误缓存 首先应该移除所有错误的 cache,对于文件:

Shell 1 git rm --cached path_of_a_giant_file

对于文件夹:

Shell 1 git rm --cached -r path_of_a_giant_dir

例如对于我的例子就是这样的:

Shell 1 git rm --cached -r Examples/iOSDemo/Pods/dependency/libg2o.a

2、重新提交: 编辑最后提交信息:

Shell 1 git commit --amend

修改 log 信息后保存返回。

重新提交:

Shell 1 git push

PS:如果上面的步骤仍然无法解决问题,则可以运行如下命令删除有关某个文件的push操作:

Shell 1 git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch YOUR-FILE'

3、将大文件加入 Git Large File Storage: 1)首先安装 git-lfs Mac 安装:

Shell 1 brew install git-lfs

Ubuntu 安装: 下载 https://github.com/git-lfs/git-lfs/releases 合适的版本例如 Linux AMD64,解压后进入目录直接运行安装脚本:

Shell 1 sudo ./install.sh

2)将想要保存的大文件 “路径” 或者 “类型” 添加进 track:

Shell 1 git lfs track "name_of_a_giant_file"

例如对于我的例子就是这样的:

Shell 1 git lfs track "libg2o.a"

需要注意的是这里面仅能添加类型的扩展名或者文件名作为跟踪方式,不可以添加路径或者目录进行跟踪。

4、将想要保存的大文件正常添加进 git:

Shell 1 git add path_of_a_giant_file

或者:

Shell 1 git add extension_name_of_giant_files

例如对于我的例子就是这样的:

Shell 1 git add Examples/iOSDemo/Pods/dependency/libg2o.a

5、正常进行提交&推送:

Shell 12 git commit -m "Add design file"git push origin master

补充技巧: 提交以后出错再进行上面的步骤可能比较麻烦,如果你已知自己提交的版本库中确实存在一些大于 100MB 的文件,不妨先搜索:

Shell 1 find ./ -size +100M

然后将这些文件移除,等待其他文件提交完后再复制回来,这样只需要从步骤3的操作开始就可以了。

常见问题: 1、错误:fatal error: unexpected signal during runtime execution goroutine 23 [chan receive]: github.com/github/git-lfs/lfs.ScanRefsToChan.func2(0xc8200d4540, 0xc8200c6000, 0xc8200d45a0) /Users/rick/go/src/github.com/github/git-lfs/lfs/scanner.go:153 +0x4e created by github.com/github/git-lfs/lfs.ScanRefsToChan /Users/rick/go/src/github.com/github/git-lfs/lfs/scanner.go:160 +0x30c

出现这个问题通常是由于 go 引擎未安装或者版本太老(1.5.1及以下版本在 Mac 上面有未知错误),或者 git-lfs 版本太老。如果没有安装 go,可使用如下命令安装:

Shell 1 brew install git-lfs

然后使用如下命令升级:

Shell 123 brew updatebrew upgrade gobrew upgrade git-lfs

然后使用如下命令查看:

Shell 1 git-lfs version

我这里的版本号如下,如果你比我的版本高就对了,否则可以尝试卸载之前安装的 go 和 git-lfs 重新安装: git-lfs/1.5.5 (GitHub; darwin amd64; go 1.7.4)

参考文献: [1] https://help.github.com/enterprise/11.10.340/user/articles/working-with-large-files/ [2] https://git-lfs.github.com/

Digiprove sealCopyright secured by Digiprove © 2017 Liu XiaoAll Rights ReservedOriginal content here is published under these license terms: X License Type:Read OnlyLicense Abstract:You may read the original content in the context in which it is published (at this web address). No other copying or use is permitted without written agreement from the author. Related Posts [Git] Git 使用常见问题 [Git] Git 使用技巧整理 [Git] Git 仓库迁移 About The Author skylook

增强现实、图像识别技术爱好者。

One Comment 匿名

文章写得很明晰,也解决了我的问题,感谢大佬!

2021年12月31日 回复 Add a Comment 取消回复


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有