正常情况下, 我们博客的相关配置信息都是在本地的, 并未上传服务器, 这样当我们想在其他设备, 比如其他的电脑或者多系统上, 那么我们便无法再维护我们的博客了,所以需要学会多设备同步管理。
我们的思路是借助Github的分支。在博客对应的仓库中新建一个分支。一个分支用来存放Hexo生成的网站原始的文件,另一个分支用来存放生成的静态网页。

环境配置

首先我们需要在电脑上配置相关的环境

  • 安装Node.js
  • 安装git
  • 安装hexo

具体的安装方式及教程,可以参考这篇博客Hexo+github 搭建博客 (超级详细版,精细入微),同时也可以将其作为一个入门的教程。

创建分支

  • hexo生成的静态博客文件都是上传到GitHub上的, 且默认放在master分支上, 而一些相关的配置文件都在本地
  • hexo的源文件(部署环境文件)可以都放在windows分支上(可以新创建一个windows分支),换新电脑时,直接git clone windows分支

创建新分支

GitHub操作:
点击branch按钮,输入新的分支名source,点创建。

设置默认分支

在github存放博客的仓库上新建一个windows分支,在仓库->Settings->Branches->Default branch中将默认分支设为source,save保存

配置文件上传Github

该步骤需要在搭建博客的电脑上操作(博客配置文件和主题配置文件所在的电脑上操作)

克隆windows分支

  • 将上述新建的windows分支克隆到本地,在终端中cd进入该username.github.io文件目录
  • 在当前目录使用Git Bash执行git branch命令查看当前所在分支,应为新建的分支windows
  • 如果用Sourcetree软件管理代码的话, 克隆到本地的项目可能没有username.github.io层级, 所有文件都在根目录下, 操作上都不影响, 只需要记住操作要在文件的根目录下即可
    1
    git clone -b 分支名仓库地址

上传部署文件

  • 先将本地博客的部署文件(Hexo目录下的全部文件)全部拷贝进username.github.io文件目录中去
  • 然后安装要用到的一些插件, 有的可能不需要, 但都安装了貌似没有任何影响
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
npm install hexo-generator-index --save
npm install hexo-generator-archive --save
npm install hexo-generator-category --save
npm install hexo-generator-tag --save
npm install hexo-server --save
npm install hexo-deployer-git --save
npm install hexo-deployer-heroku --save
npm install hexo-deployer-rsync --save
npm install hexo-deployer-openshift --save
npm install hexo-renderer-marked@0.2 --save
npm install hexo-renderer-stylus@0.2 --save
npm install hexo-generator-feed@1 --save
npm install hexo-generator-sitemap@1 --save
npm install hexo-generator-search --save
npm install hexo-generator-searchdb --save
  • 最后就是把所有的文件都提交到hexo分支

    1
    2
    3
    git add .
    git commit –m "add branch"
    git push
  • 这里需要注意一些问题

    • 将themes目录以内中的主题的.git目录删除(如果有),因为一个git仓库中不能包含另一个git仓库,否则提交主题文件夹会失败
    • 后期需要更新主题时在另一个地方git clone下来该主题的最新版本,然后将内容拷到当前主题目录即可
    • 复制过来的源文件应该有一个.gitignore,用来忽略一些不需要的文件,如果没有的话,自己新建一个,在里面写上如下,表示这些类型文件不需要git:
      1
      2
      3
      4
      5
      6
      7
      .DS_Store
      Thumbs.db
      db.json
      *.log
      node_modules/
      public/
      .deploy*/
  • 最后用终端或者可视化工具将所有文件提交到windows分支

同步到其他电脑

  • 将新电脑的生成的ssh key添加到GitHub账户上

  • 在新电脑上克隆username.github.io仓库的windows分支到本地,此时本地git仓库处于windows分支

  • 切换到username.github.io目录,执行npm install(由于仓库有一个.gitignore文件,里面默认是忽略掉 node_modules文件夹的,也就是说仓库的windows分支并没有存储该目录,所以需要install下)

    • 如果node_modules文件没有丢失, 可不执行该操作
  • 到这里了就可以开始在自己的电脑上写博客了!

    • 需要注意的是每次更新博客之后, 都要把相关修改上传到windows分支
    • 每次换电脑更新博客的时候, 在修改之前最好也要git pull拉取一下最新的更新

大约就是这些问题,最好在熟悉git命令的使用或者选择一款可视化工具后再进行操作,省时省力提高效率。

参考文章:
https://www.cnblogs.com/shuofxz/p/11736825.html
https://www.jianshu.com/p/0558c041e56d