1. 引言

目前也是在海外研究生生活了,寻思着把博客翻出来记录些技术日常,还有给我的照片一个归宿。但是老博客本体仍在小笔记本上,于是便有了此文。


2. 教程

惯例先po参考文献

Kakaluotuo: https://blog.csdn.net/K1052176873/article/details/122879462

2.1. 同步原理

利用git分支,将网页部署文件上传至master,而将网站设置文件上传至hexo分支(备份分支)。

deploy:  
type: git
repository: git@github.com:1223550690/1223550690.github.io.git
branch: master

上面的全局配置文件_config.yml中的设置,可以看到当运行hexo d时hexo会自动将静态页面推送到master分支,而github托管所显示的页面并不强绑定于master分支,只是默认情况下只有一个master分支罢了。(可以看到Setting中可以自己更改build的分支)

image-20251031215909231

所以到这里思路就比较清晰了,一个分支正常用来推静态页面,然后单开一个分支备份设置。

2.2 具体实现

2.2.1 Old PC

  1. 创建一个新分支hexo,并设置为默认分支

  2. clone该仓库到本地,并删除除.git外所有文件

    git clone git@github.com:username/username.github.io.git
  3. 找到原hexo部署文件夹,将除.deploy_git外的文件转移到新clone下的文件夹中(如果没有.gitignore文件需要新建一个)

    .DS_Store
    Thumbs.db
    db.json
    *.log
    node_modules/
    public/
    .deploy*/
  4. 将合并后的文件推送到远程库

    git add .
    git commit –m add_branch
    git push

2.2.2 New PC

  1. 添加sshkey并绑定到GitHub账户上
  2. 克隆配置文件到本地文件夹
  3. 在new pc的.github.io文件夹下执行npm install hexonpm installnpm install hexo-npm install

2.2.3 后续

记得定时备份配置文件

git add .
git commit -m ChangeFiles
git push