背景:Gridea推送原理依然是git下的推送,在软件内的所有静态界面生成后,会保存在软件目录下的output文件内,output目录同时会有一个".git"文件。此目录可以作为仓库打开。查看config,发现是使用https链接进行同步,而此种方式在国内是很慢的,即使打开全局代理,Gridea是不走系统代理的,所以开代理的效果并不显著。
根据经验,SSH链接的仓库推送拉取是最快的,不挂代理的情况速度轻轻松松可以达到1~2M甚至更快,
所以使用SSH方式同步仓库。步骤如下:
1.清空output文件夹内的所有文件(这里是生成的静态界面以及git仓库配置文件,并不是数据源文件,可以再次生成),原因是github不能克隆仓库到非空的文件夹内,所以需要清空。
2.复制博客仓库的SSH链接(需要提前配置好SSH公钥,具体怎么配置请自行百度“如何添加github的ssh公钥”),然后克隆到本地
git clone git@github.com:XXX/XXX.github.io.git
3.此时output文件夹内会有.git文件,还有可能有其他文件,(取决于初始化仓库时有没有生成其他文件)然后删掉除了.git文件的其他所有文件,点击Gridea内的同步,同步是否成功没有关系,此时会在output文件架内生成用于发布的静态界面。接下来的操作完全就是操作一个git仓库,推送上去就可以,无论是git命令行或者Git desktop客户端还是其他第三方git客户端都没有区别,暂存文件并推送,打开博客主页,就可以看到推送成功。
这种方法是无意中试出来的,即删除.git文件,然后点击同步,可意外的同步成功,尝试了几次都可以。
不过测试次数不足,可能因人而异。