用github的ssh协议部署hexo

前天gitcafe遭受了DDOS攻击,pages服务无法访问,多久恢复官方也没有给个准信。所以准备重回『章鱼猫』的怀抱。

之前抛弃github pages除了因为访问速度慢,最重要的原因是push的速度太慢,还经常失败。搭配shadowsocks倒是解决了上传慢的问题,可惜百分百都会异常中断。出错信息类似这样:

1
2
error: RPC failed; result=18, HTTP code = 200
fatal: The remote end hung up unexpectedly

result后面18 55 56都出现过,网上的解决办法几乎都是改变缓冲区的大小,可惜这一次postBuffer设任何值结果也是一样。最郁闷的是,不用proxy上传最后还是会报错!屏息凝神盯着几十kb每秒的速度,过半天还是报错,心情简直跌落到谷底啊有木有!

既然决定重返github,这个问题自然是要解决的了。首先简单google了下,基本确定我的这种情况是个例,那么很有可能是校园网不稳定或者网络服务商对上传做了限制。之前用GIT_CURL_VERBOSE=1知道上传包大概是二十多M。考虑过换成其他网再传,想想还是算了,总不至于为了这点儿事跑网吧去吧!orz。继续搜搜搜,。。。…似乎这些错误都与curl的协议相关。既然之前安装hexo已经配置了SSH密钥,何不改用SSH方式上传呢?于是乎删掉了deploy文件夹,_config.yml里相关设置改成:

1
2
repository:
github: git@github.com:flashlab/flashlab.github.io.git,master

终于顺利完成上传!意外惊喜是,上传速度比https方式快得多,一箭双雕啊哈哈。另外顺手多修改了两个地方:

消除控制台多余输出

hexo d 次数多了,最终还是扛不住被

warning: LF will be replaced by CRLF

刷屏。执行

git config –global core.autocrlf false

世界总算清静了。

删除多余的主题文件

在fancybox文件夹下只保留source文件夹,减轻上传压力呀有木有。