美文网首页iOS开发技术深海
处理GitHub上的不允许100MB大文件上传

处理GitHub上的不允许100MB大文件上传

作者: MichleMin | 来源:发表于2016-03-08 14:12 被阅读5595次

参考原文http://www.mamicode.com/info-detail-886410.html

今天初次使用GitHub,管理自己的项目代码。项目里用到了百度导航SDK,由于百度导航SDK大于100MB,所以在向GitHub提交代码时出错。具体信息如下:
Total 3007 (delta 664), reused 0 (delta 0)
remote: error: GH001: Large files detected.
remote: error: Trace: 7b7de6b9372ee392e0f3961b05ea6f33
remote: error: See http://git.io/iEPt8g for more information.
remote: error: File XXX/XXX/BaiduNaviSDK/libbaiduNaviSDK.a is 102.68 MB; this exceeds GitHub‘s file size limit of 100.00 MB
remote: error: File XXX/XXX/BaiduNaviSDK/libbaiduNaviSDK.a is 102.68 MB; this exceeds GitHub‘s file size limit of 100.00 MB。这句话的意思是GitHub问件长度限制在100MB以内。它还提示我们到 (http://git.io/iEPt8g) 去如何处理上传大文件。开始我按照原文的操作,结果还是出现这个错误。后来我左思右想,是不是自己理解错了原文作者的意思。果然后来我在.gitinore这个文件中添加了忽略libbaiduNaviSDK.a 的命令,才成功将自己的文件上传。
具体操作如下:
当我们上传的项目中包含大于100MB的文件时。我们首先要在.gitinore中忽略它。
然后在最新的一次提交中,将该文件从本地仓库和远程仓库全部移除掉。如果这个文件很重要,要记得做一次备份。
如果这个文件是最近一次commit的,并且你还没有push到github
第一步:在.gitinore中忽略你需要忽略的大文件名字(跟忽略一般文件一样)

cat .gitinore
vi .gitinore
*.libbaiduNaviSDK.a

第二步:从本地仓库移除掉大文件

git rm --cached /User/xxx/xxx/xxx/libbaiduNaviSDK.a (/User/xxx/xxx/xxx/libbaiduNaviSDK.a换为自己要移除的文件即可)

第三步:提交我们的操作

git commit --amend -CHEAD

执行完这一步,libbaiduNaviSDK.a将从你的commit仓库中移除。
此时在向远程服务器push即可成功。

相关文章

网友评论

  • 名a字太难搞了:gitinore 这个单词不对 应该是 gitignore
    LV大树:难怪不行呢。
  • 霍莉雪特:老铁,这只是把超过100M的文件移出仓库了,还是没办法把大文件提交上Github呀
  • 8a7831f05091:好像还是被拒绝
  • Tamp_:楼主你好,fatal: not removing '/Users/lanshangongzuoishi/Desktop/ink.test/IJKMediaFramework.framework' recursively without -r git remove的时候报这个错是怎么回事啊
    wangsuik:删除文件夹里的文件用:git rm -r --cached
    萧溪:一样的,文件大于100M 请提交前移除IJKMediaFramework

本文标题:处理GitHub上的不允许100MB大文件上传

本文链接:https://www.haomeiwen.com/subject/avdzkttx.html