正常情况下, 我们博客的相关配置信息都是在本地的, 并未上传服务器, 这样当我们想在其他设备, 比如其他的电脑或者多系统上, 那么我们便无法再维护我们的博客了,所以需要学会多设备同步管理。
我们的思路是借助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 | npm install hexo-generator-index --save |
最后就是把所有的文件都提交到hexo分支
1
2
3git 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账户上
- ssh key的配置方式可参考Git中SSH key配置秘钥生成和如何拉取代码。
在新电脑上克隆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