type
status
date
slug
summary
tags
category
icon
password
通过 Hexo 和 GitHub 搭建的博客,静态文件会上传到 GitHub 仓库的 master 分支,但是 Hexo 的安装目录还是保存在本地的。如果更换了电脑需要更新博客,我们需要 Hexo 的安装目录来生成/编辑/上传博客,并且这个安装目录需要随着博客的更新而更新。在这里提供一种便捷的办法来实现不同电脑之间同步更新博客。转载请说明出处。

实现思路

在 Github 用于存放博客的仓库 yourname.github.io 下面建立 masterhexo 两个分支
  • master 分支(默认创建),通过 Hexo 命令提交,用于存放上传的 Hexo 静态文件(例如 public 文件夹里面的内容),这个分支用于显示 https://yourname.github.io 打开的内容。
  • hexo 分支(手动创建),通过 Git 命令提交/拉取,用于存放 Hexo 的安装目录,该分支可设为 默认分支
这样我们写博客的大概流程就是 hexo 分支上写上博客,并把写好的博客内容上传到 master 分支,两个分支都通过 git 进行管理,所有的修改一目了然,非常方便。

实现过程

本地电脑

如果你的电脑还没配置好 Hexo,请参考以前的教程 Hexo+GitHub搭建个人博客教程
当你本地电脑的 Hexo 目录已经安装配置完毕之后,该目录可以 通过 Hexo 命令向 GitHub 仓库的 master 分支提交内容,但是该目录还不是 git 管理的目录,需要把该目录初始化为 git 管理的目录。

1、删除非默认主题文件的 .git 目录(可跳过)

如果你使用的是非默认主题 landscape 的其他主题,而该主题的目录也是在通过 git clone 方式拉取下来的话,需要先取消该目录的 git 管理追踪,否则到时候提交 Hexo 安装目录的时候该文件夹会报类似于 XXX目录: git modified content untracked content 的错误。例如本人使用的是 next 主题,在 Hexo 安装目录下输入命令:

2、把 Hexo 命令提交的分支改成 master 分支

编辑 Hexo 安装目录下的 _config.yaml 文件,在 deploy 参数里面添加 branch: master,如下

3、初始化 git 仓库

在 Hexo 安装目录下输入命令
初始化为 git 目录并创建 hexo 分支

4、提交到远端服务器

在 Hexo 安装目录下输入命令
与远端主机关联并提交 hexo 分支

另外一台电脑

当你在一台新电脑上需要写博客的时候,需要先把 hexo 分支拉取下来,再进行 Hexo 初始化。前提是该电脑需要先安装 git 和 node.js,并与 GitHub 进行 ssh 关联(可选)。如果这些工作还没完成请参考 Hexo+GitHub搭建个人博客教程

1、拉取 hexo 分支

在任意目录里面输入命令
执行完之后你的目录下应该会出现一个 yourusername.github.io 的目录。

2、初始化为 Hexo 目录

yourusername.github.io 目录只是一个普通的 git 管理目录,需要把该目录初始化为 Hexo 目录。

3、安装插件(可跳过)

至此这台新电脑的初始化工作也已经完成,可以开始写博客了。

写博客步骤

以后我们写博客都在 hexo 分支下进行,master 分支只是用来存放生成的静态文件。确认目前在 hexo 分支下,步骤如下:
  1. git pull 每次写博客前拉取最新的 hexo 分支代码
  1. hexo new post '新文章' 开始写博客
  1. hexo clean && hexo g 清空并生成新的静态文件和缓存文件
  1. git add .
  1. git commit -m '备注'
  1. git push 提交到 hexo 分支
  1. hexo d 提交到 master 分支
至此我们就可以实现在多台电脑上同步更新博客

参考资料

Hexo绑定域名Hexo图片设置
mcbilla
mcbilla
一个普通的干饭人🍚
Announcement
type
status
date
slug
summary
tags
category
icon
password
🎉欢迎来到飙戈的博客🎉
-- 感谢您的支持 ---
👏欢迎学习交流👏