其实嘛,也不算bug,是我组件脑残了。。。
昨天在封装一个 Video 组件,远程视频一直播放不了。然后我就想是不是视频都播放不了,于是我在本地项目下放了一个 300 多M的 MP4 文件。OK,可以播放了。
但是远程视频还是无法播放啊。大概问题是格式或者太大了吧,于是我转换了一下格式,我靠3M多,居然也不能播放。我就不能忍了啊!
那就是后台接口编解码有问题啊!
嗯,这种坑爹的事情,很烦。
当然了,别看我这样,其实我是个乐观的人。Emmmm。。。虽然压力每天都很大,但是谁说不是动力呢?不过我只想求求自己,这种压力哥哥我真的不要啊!
有人在微信群,发了一个抖音美女视频。不错,我被电脑辐射了几百年的眼睛都不痛了。
突然之间,等等。。。别害怕,白天是不会遇鬼的,说实话,晚上也不会,除非你心里有鬼。
微信视频为什么这么流畅,这就是我当时的想法。于是就有了我接下来一串6翻了的操作——
我把视频用微信发给自己,当然了,这压缩花了很多时间。你大概是猜对了,我直接用微信作为视频压缩工具——脑洞是大了一点——但是,注意了,下面一点很关键,这是免费压缩的啊!!!很多好的压缩工具可是要钱的啊,而且这还是针对性压缩,针对手机的啊,符合我的需求。
等我压缩完,我再从微信里下载视频。果然,毫不影响观看,而且小了很多。于是我再把视频在后台上传,上传完我再前端调用接口,视频可以播放了啊。完美,我真的哈哈哈!
全部都搞定了,我就git上传仓库了。尼玛啊,什么鬼,300多M。。。git 上传100M限制啊,有没有。然后就报错了,上传失败。
这种问题,小case啦,我直接在本地项目里删除了那个视频。但是我太天真了,依然报同样的错——这时我的心里一万只草泥马在奔腾啊!我想了一下,可能之前的仓库有缓存之类的吧(先剧透一下,这跟问题的真相很近!)。于是我删除了之前的仓库,但是我比较懒啊,新建的空仓库用了之前一样的名字,虽然我更改了仓库,还是同样的错。。。
我在内心已经深深地鄙视了自己的懒惰一把。。。
再删再建再换仓库——对了,插播一下,我在第一次删除仓库的时候,输密码输错了,又找不到记密码的笔记本,于是我找回密码修改密码,哎——所以重新换了上传还提示我用户名密码错误,我还得改——有时候,真的,算了。——继续插播另一条消息,可能对你有用,可能让你很烦——之所以我记不住密码,那是因为我每次创建密码都是以下的奇葩操作——我打开继续本,在键盘上乱敲,把敲下来的东西当作密码。。。这操作绝对没谁了。不过,比那些用前女友生日作为密码的家伙安全性高了一个纬度——谁说不是呢。
嗯,插播也完了。继续回到正题。
在以上一番操作后依然提示同样的错误。卧槽!Waht The Fuck!此时,时间已经过去了两个多小时。。。
我得仔细想想出了什么问题,貌似有点严重了。嗯,我书还没有看。。。
我靠,我是猪啊!那个什么缓存在本地仓库啊!!!换再多的远程仓库又有何用。对,没有一点卵用。这个时候我内心一万只草泥马都已经跑累了。。。
继续操作。。。
$ git ls-files # 该命令输出在缓冲区中缓存的所有文件
$ git ls-files | grep 1.mp4 #找我保存的文件,结果没找到(可能我已经将缓冲区的文件删除掉了)
如果文件在缓冲区中,则直接输入命令
$ git rm --cached your-file-name
之后发现重新push还是不行,于是在网上查,嗯,网友还是很强大的:
$ git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch your-file-name' --tag-name-filter cat -- --all
于是,我就将上面的your-file-name换成了我文件的全路径名:
$ git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch my-file-name-absolute-path' --tag-name-filter cat -- --all
结果push之后还是不对,继续报错。。。网友误我啊!又浪费了我半个小时。。。
继续尝试吧
我将your-file-name换成了我当前所在文件夹下的路径,即换位相对路径,结果push成功了!!!
$ git filter-branch -f --prune-empty --index-filter 'git rm -rf --cached --ignore-unmatch my-file-name-relative-path' --tag-name-filter cat -- --all
其实吧,那个报错也一直报的是相对路径嘛。。。
不管怎么说,已经搞定了
我想唱首歌-我感动天感动地,怎么还是被你感动了
哦——我当然不是魔鬼了