多设备同步hexo实现

需求分析

考虑到后面上班以及回家办公可能需要记录一些东西

但是家里主要是台式机,笔记本可能会直接放公司,因此需要 在多台设备上实现 hexo 笔记的同步

实现的思路也很简单,由于 hexo 部署到 github page 的时候是已经生成好了的静态页面,因此想要实现同步需要找个地方同步源文件

看了一下网上的说法是搞个新的分支,我寻思既然都新分支了,也不要放在 public 的仓库了,直接开个新仓库不就得了 XD

实现思路

具体实现其实就是创建一个新的仓库,这里顺便也刚好复习一下新环境的 git | github | hexo 配置

Git 配置

首先去官网下载和安装好 git 下一步进行配置

1
2
3
4
5
6
7
8
//1、设置用户名和邮箱
git config --global user.name '用户名'
git config --global user.email '邮箱'
//2、查看设置的用户名与邮箱
git config --global user.name
git config --global user.email
//3、生成gitlab上配置的ssh公钥:
ssh-keygen -t rsa -C '邮箱'

注意⚠️:输入命令后,三个连续的回车,表示默认存储位置、密码为空、确认密码

进入默认存储位置 (C/用户/当前用户名称/.ssh目录)下,用记事本打开 id_rsa.pub 文件,并全选复制里面的内容到 github 的主页设置里,在 SSH 中加入即可

git 提交

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
27
28
29
30
31
32
33
34
35
36
/*初始化一个新的Git仓库,
并将当前目录下的所有文件添加到Git的暂存区,最后提交到本地仓库,
并附上一条提交信息"项目构建"
*/
git init
git add .
git commit -m "项目构建"

/*这个命令是用来重命名当前所在的分支为"main"。
很多人创建仓库是默认分支为master,但2020年10月github官网要求要使用main,据说是为了避免政治正确的元素,彩棉场の回忆XD
这是因为很多人安装git的时候没有选择默认为main,而是选择默认为master
*/
git branch -M main

//先查看是否存在运程仓库(你的github仓库,git有了这个才知道往哪上传,一般返回两条命令)
git remote -v

//如果有且正确直接推送就好,仓库不对想换成别的就先删除再添加;如果没有就直接执行第二条来添加
git remote remove origin
git remote add origin git@github.com:你自己的用户名/你自己的仓库名.git

/*推送你的代码到远程仓库的"main"分支(-u 选项是 --set-upstream 的简写,
本地的 main 分支就会与远程仓库 origin 上的 main 分支建立起跟踪关系。
这意味着,以后你在该本地分支上执行 git pull、git push、git status 等命令时,
Git 会默认使用这个远程分支。)
*/
git push -u origin main


针对之后的每一次修改提交
//添加修改到暂存区
git add .
//提交修改到本地仓库
git commit -m "描述你的修改"
//推送到远程仓库
git push origin main

在之前的旧设备上,新建仓库,关联远程仓库,推送到远程仓库即可

Node| Hexo

由于 Hexo 是基于 node.js 的,因此先去官网安装 Node 全套配件

1
2
3
4
npm install -g hexo-cli
git clone //之前新建的远程仓库blog
cd blog
npm install //根据packge.json安装依赖

之后的操作

之后的操作其实就是不管在那一台设备上,部署了新的文章的时候都要先 git 拉一下看看有没有更新,推送一下然后再 hexo 部署

Reference

2024代码上传到github,详细解释命令-CSDN博客

git入门:初始化、拉取项目、提交代码_git初始化-CSDN博客

hexo博客多设备同步 | 薛轩的个人博客 (xuexuan.site)


多设备同步hexo实现
http://example.com/2024/03/09/多设备同步hexo实现/
作者
Noctis64
发布于
2024年3月9日
许可协议