多台电脑维护Hexo博客

写博客,不一定是在同一部电脑上写,有可能需要在不同的电脑上进行写博客,所以当有多台电脑进行维护博客源码时,就需要用到远程仓库了,以下分别用远程仓库的两种方法实现Hexo博客源码的备份和维护。

环境准备

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
System Environment:
System version: CentOS Linux release 7.6.1810 (Core)
Git version: 1.8.3.1
Nvm version: 0.34.0
Nodejs version: v12.10.0
Npm version: 6.10.3
Hexo version:
hexo: 3.9.0
hexo-cli: 2.0.0
os: Linux 3.10.0-957.el7.x86_64 linux x64
node: 12.10.0
v8: 7.6.303.29-node.16
uv: 1.31.0
zlib: 1.2.11
brotli: 1.0.7
ares: 1.15.0
modules: 72
nghttp2: 1.39.2
napi: 4
llhttp: 1.1.4
http_parser: 2.8.0
openssl: 1.1.1c
cldr: 35.1
icu: 64.2
tz: 2019a
unicode: 12.1

安装Git, node 和 hexo

安装 git:

1
$ sudo yum install -y git

安装 nodejs:

安装 Node.js 的最佳方式是使用 nvm。nvm 的开发者提供了一个自动安装 nvm 的简单脚本。

curl:

1
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh

wget:

1
$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | sh

安装nvm完成后,重新登录终端(退出重新登录命令行终端)并执行下列命令即可安装 Node.js。

1
$ nvm install node

安装 Hexo:

1
$ npm install -g hexo-cli

多人维护Hexo博客源代码

当有多人维护Hexo博客源码时,就需要使用远程仓库进行维护管理博客源码了,以下分别介绍两种多人维护Hexo博客源码的方式。

方法一:新建远程代码仓库备份Hexo博客源码

在Coding或者Github上新建一个仓库,专门用于存放Hexo博客站点的源码,新建仓库可参考前面的 Hexo搭建个人博客系统 这篇博文。

备份Hexo博客源代码到新建的远程仓库master

在Hexo站点目录blog下执行以下命令,完成本地Hexo博客源码同步到远程仓库。

1
2
3
4
5
# git init  # 初始化本地项目加入git管理
# git remote add origin <远程仓库地址> # 使用git关联本地项目和远端仓库
# git add -A # 将所有文件添加给git暂存区,包括删除的文件
# git commit -m "备注信息" # 将git缓存区的所有文件提交到本地git仓库
# git push origin master # 推送本地git仓库到远程仓库主分支master

此时,已完成Hexo博客源代码的备份,其他人可以通过拉取博客源码进行维护了。

在另一台电脑编写Hexo博文备份操作

首先使用 ssh 或 https 链接地址下载博客源码。

1
2
3
4
5
ssh: 
# git clone git@e.coding.net:xxx/xxx.git <本地文件夹名>

https:
# git clone https://e.coding.net/xxx/xxx.git <本地文件夹名>

cd切换到Hexo站点目录下,安装Hexo依赖插件模块。

1
2
3
# cd blogcode
# npm install # 通过当前目录下的package.json文件安装依赖包
# npm install hexo-deployer-git # 安装git部署插件

然后执行以下指令,前台启动Hexo服务预览博客。如果想要pm2管理Hexo后台开机自启动,可以参考前面的 Hexo搭建个人博客系统 这篇博文。

1
# hexo s  # 前台启动Hexo服务预览博客

完成以上操作后,就可以继续编写博客了,可以使用 hexo new <title> 指令编写Markdown文档;也可以使用Markdown文档编辑器编写文档,然后将编写好的Markdown文档上传到Hexo站点目录的 source/_post 目录下,重启Hexo服务,在浏览器输入以下地址进行预览:http://IPADDRESS:4000,博客又完整回来了。

注:IPADDRESS,请使用ifconfig命令在服务器上查看

每次编写好博文发布到Coding或者Github Pages之后,都要进行Hexo博客源码的备份,继续执行以下命令

1
2
3
4
# git status  # 查看本地git仓库工作目录和暂存区的状态
# git add -A # 将所有文件添加给git暂存区,包括删除的文件
# git commit -m "备注信息" # 将git缓存区的所有文件提交到本地git仓库
# git push origin master # 推送本地git仓库到远程仓库主分支master

后面继续写博文的时候,需要先执行以下命令,拉取远程仓库的Hexo博客源码合并,然后才可以继续编写博文。

1
# git pull origin master[:master]  # 拉取远程origin主机的master分支,与本地的master分支合并,中括号部分可以省略不写

方法二:使用发布静态页的远程仓库新分支备份Hexo博客源码

在部署好的Hexo站点目录下的 _config.yml 中,修改网站deploy的配置内容为如下所示:

1
2
3
4
deploy:
type: git
repository: git@git.coding.net:xxx/xxx.git
branch: master

生成静态页并部署到远程Coding或者Github Pages仓库

修改好所有博客设置,文章写好之后,使用以下命令生成静态页面并发布到远程仓库。

注意:如果是发布到Coding需要开启 coding的持续部署静态网站功能 ,稍等片刻就能看到生成的博客访问地址了。

1
2
# hexo g  # 生成静态页
# hexo d # 发布到远程仓库

备份Hexo博客源代码到远程静态页仓库的Coding-pages分支

在Hexo站点目录blog下执行以下操作:

1
2
3
4
5
6
# git init  # 初始化本地项目加入git管理
# git remote add origin <远程仓库地址> # 使用git关联本地项目和远端仓库
# git checkout -b coding-pages # 创建并切换到分支coding-pages
# git add -A # 将所有文件添加给git暂存区,包括删除的文件
# git commit -m "提交" # 将git缓存区的所有文件提交到本地git仓库
# git push origin coding-pages # 推送本地git仓库到远程仓库分支coding-pages

此时,已成功备份到静态页远程仓库的 coding-pages 分支

在另一台电脑编写Hexo博文备份操作

首先使用 ssh 或 https 链接地址下载博客源码。

1
# git clone <静态页远程仓库地址> <本地文件夹名>

克隆远程仓库后,当前默认为远程仓库的 master 分支,也就是 hexo g 编译后发布到远程仓库的静态页文件。

执行以下命令切换到静态页远程仓库的 coding-pages 分支。

1
2
# git branch -a  # 查看本地和远程分支
# git checkout coding-pages # 切换到coding-pasges分支

cd切换到Hexo站点目录下,安装Hexo依赖插件模块,输入以下命令:

1
2
3
4
# npm install -g hexo-cli    # 安装hexo
# npm install # 安装依赖包
# npm install hexo-deployer-git # 安装git部署插件
(记得,不需要hexo init这条指令)

然后执行以下指令,前台启动Hexo服务预览博客。如果想要pm2管理Hexo后台开机自启动,可以参考前面的 Hexo搭建个人博客系统 这篇博文。

1
# hexo s  # 前台启动Hexo服务预览博客

在浏览器中输入网址:http://IPADDRESS:4000,博客又完整回来了。

注:IPADDRESS,请使用ifconfig命令在服务器上查看

每次编写好博文发布到Coding或者Github Pages之后,都要进行Hexo博客源码的备份,执行以下命令完成备份:

1
2
3
4
# git checkout coding-pages  # 切换到分支coding-pages
# git add -A # 将所有文件添加给git暂存区,包括删除的文件
# git commit -m "提交" # 将git缓存区的所有文件提交到本地git仓库
# git push origin coding-pages # 推送本地git仓库到远程仓库分支coding-pages

后面继续写博文的时候,需要先执行以下命令,拉取静态页远程仓库coding-pages分支的Hexo博客源码合并,然后才可以继续编写博文。

1
# git pull origin coding-pages[:master]  # 拉取远程origin主机的coding-pages分支,与本地的master分支合并,中括号部分可以省略不写