iOS source tree提交代码,提示 File &qu
如下截图左侧的1↑表示:在本地服务器有1个提交记录,但是提交到远程服务器的时候报了标号4中
的错误
image.png
在如上截图的基础上,又提交了一次记录,左侧的2↑表示:在本地服务器有2个提交记录,但是提交到远程服务器的时候还是报了上面的错误。
image.png报错内容粘贴
Pushing to https://gitee.com/yimiaozp/newasecondjobproject.git
POST git-receive-pack (chunked)
remote: Powered By �[01;34mGitee.com�[0m
remote: warning: Large files detected.
remote: error: File "Hema/HemaFrameworks/\351\253\230\345\276\267\345\234\260\345\233\276/AMapNaviKit.framework/AMapNaviKit" is 109.32 MB; this exceeds file size limit of 100.0 MB
remote: error: hook declined to update refs/heads/2.3.8
To https://gitee.com/yimiaozp/newasecondjobproject.git
! [remote rejected] 2.3.8 -> 2.3.8 (hook declined)
error: failed to push some refs to 'https://gitee.com/yimiaozp/newasecondjobproject.git'
出现问题原因:AMapNaviKit.framework/AMapNaviKit
文件大于100MB。
解决办法:首先可以断定的是,你的代码100%肯定提交到本地服务器了,因为如上报错是远程服务器报给用户的错误,而提交到远程服务器之前,必须先提交到本地服务器。按照如下四个步骤
即可完美解决上述问题。
步骤一:删除高德导航framework
image.png步骤二:source tree再次提交一次本次的更改。肯定还是报上面的错误,我们不必在意。另外左侧变成了的3↑,表示在本地服务器有3个提交记录,但是提交到远程服务器的时候报了错误。
image.png步骤三:进入项目目录,我们项目是在new下面
cd /Users/zhangbin/Desktop/一秒招聘/new
image.png
步骤四:紧接着执行如下命令。若执行该命令之后有问题,请滚动到底部看看可能出现的问题
。格外注意一点:报错的内容识别不出来汉字(高德地图)
,所以报错的内容高德地图字转成了字符(\351\253\230\345\276\267\345\234\260\345\233\276)
,但我们执行步骤三的时候,一定要使用的汉字(高德地图)
,否则的话,还是报最上面截图的问题,因为路径都不对,怎么可能会将导航framework删掉。在这里提醒一下:路径中最好不要有中文,不规范。
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch Hema/HemaFrameworks/高德地图/AMapNaviKit.framework/AMapNaviKit' HEAD
image.png
另外命令中的内容:Hema/HemaFrameworks/高德地图/AMapNaviKit.framework/AMapNaviKit
就是从第一张截图里面粘贴过来的,就是这个文件大于100MB。
步骤五:终端进行git push(或者利用source tree),将代码提交到远程仓库。这样3次提交记录中,除了导航的framework不会提交到远程服务器,其余更改的内容都会被提交到远程服务器。
image.png可能出现的问题1[我遇到过]:
- 如果执行步骤三提示如下错误
Cannot create a new backup.
A previous backup already exists in refs/original/
Force overwriting the backup with -f
,那么执行这个命令即可rm -rf .git/refs/original/
,之后,步骤回滚到步骤三,继续执行步骤三。