Fork me on GitHub

多台电脑更新hexo博客

在自己的电脑上使用了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电脑上安装hexo

1
2
npm 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
2
3
4
# 自己电脑
cd /Users/xiaomi/Documents/Python/gitproject/otakurice.github.io
# 业务电脑
cd /Users/xiaomi/Documents/xiaomi/github_blog

后续操作与之前同步博客一样

  • 启动本地服务器
    可通过:http://localhost:4000/ 在本地预览博客效果

    1
    $ hexo server
  • 清除缓存(可选操作)

    1
    $ hexo clean
  • 生成博客文章静态页面
    md文章编辑成功后

    1
    2
    cd /Users/xiaomi/Documents/Python/blog
    $ hexo generate
  • 将文章部署至github

    1
    $ hexo deploy
向分支push更新

通过hexo deploy提交的博客,实际上是将生成html文件提交到了master分支。

我们要把博客里的配置文件与源文件都提交到副分支中,以保证副分支是最新的。

使用fork将更新后的博客push到副分支。

-------------本文结束感谢您的阅读-------------