在自己的电脑上使用了github的博客hexo,用的很顺利。
后来业务需要又多了一台电脑办公,想要更新博客就很困难了(:з」∠)
在网上找了一些解决方案:https://www.jianshu.com/p/0b1fccce74e0
根据解决方案自己进行的操作及原理
这个同步其实比较好实现,但是因为什么分支,不同电脑,不同文件夹,又是push又是pull,导致我花了好久才看到@^@,所以总结一下。
A电脑是我们平时写博客用的电脑。
B电脑是我们想要在上面写博客的新电脑。
首先要按照解决方案中(第二章1、2节)的方式为github项目创建分支并设置为默认分支,我的分支名字叫bachelor(和master对比,皮一下),将分支clone到A电脑上,新建文件夹如/Users/xiaomi/new,不与已存在的本地博客/Users/xiaomi/old冲突。
(第二章第3节)再将原来的本地博客文件夹old中的配置文件,包括根目录下的_config.yml和source、tags、themes拷贝到new的根目录下。要将theme目录下的.git文件(如果有)删掉,.git隐藏文件。
(第二章第4节)将new文件夹的更新提交到github。
(第三章)切换到新电脑B,将bachelor分支clone到本地/Users/xiaomi_office/new。在B电脑上安装hexo1
2npm install hexo --save
npm install hexo-deployer-git --save
安装好后cd 到new文件夹中,执行npm install,此时会在new文件夹中生成一个node_modules文件夹,还有package_lock.json文件。将这俩个文件添加到.gitignore中,也就是默认不提交到github上。
(第四章)此时在终端使用hexo的操作命令,就可以在本地预览博客和提交博客了。使用hexo generate的时候会在new文件夹中生成新的html文件,使用hexo deploy时,会默认将html文件提交到github的master分支中,所以我们还需要手动push整个项目new文件夹的更新到bachlor分支去。
所以每次对博客进行更新之后一定要push代码到github,下次换电脑就可以直接pull下来获取更新了。
每次更新需要的操作
同步github分支更新
首先通过fork将github上副分支的更新pull下来,保证与github是同一版
向github提交新博客
1 | # 自己电脑 |
后续操作与之前同步博客一样
启动本地服务器
可通过:http://localhost:4000/ 在本地预览博客效果1
$ hexo server
清除缓存(可选操作)
1
$ hexo clean
生成博客文章静态页面
md文章编辑成功后1
2cd /Users/xiaomi/Documents/Python/blog
$ hexo generate将文章部署至github
1
$ hexo deploy
向分支push更新
通过hexo deploy提交的博客,实际上是将生成html文件提交到了master分支。
我们要把博客里的配置文件与源文件都提交到副分支中,以保证副分支是最新的。
使用fork将更新后的博客push到副分支。