思路
在仓库里创建新的分支hexo,存放Hexo生成的原始文件,原master分支存放生成的静态网页。备份时上传需备份的文件到hexo分支,恢复时拉取hexo分支到本地。
备份
博客内文件或文件夹的内容
.deploy_git: 执行hexo g自动生成,不需拷贝node_modules: 安装包的目录,执行npm install自动生成,不需拷贝public: 执行hexo g自动生成,不需拷贝scaffolds: 文章的模板,需拷贝source: 包含生成网页需要的源文件和其他资源文件,需拷贝themes: 主题,需拷贝.gitignore: 在push时忽略的文件,需拷贝_config.yml: 站点的配置文件,需拷贝db.json: 配置文件,不需拷贝package.json: 依赖的模块列表,需拷贝package-lock.json: 模块安装记录,自动生成,不需拷贝
具体操作
- 在
.gitignore里添加不需拷贝的内容,可以添加不需拷贝的主题(例如自带主题)。 - 删除主题文件夹下的
.git/,否则无法push(或者新增个备份文件夹themesbk/themename存放主题拷贝,然后push) - 在blog根目录执行命令
git init初始化本地仓库 - 继续执行命令
git checkout -b hexo创建hexo分支,分支名称可改 - 执行
git remote add origin https://github.com/username/username.github.io.git添加远程仓库 - 依次执行命令
git add .,git commit -m "something",git push origin hexo - 需备份时只需执行第6步的命令
恢复
- 安装git, nodejs
- 执行
git clone -b hexo https://github.com/username/username.github.io.git blog克隆至blog文件夹(名称可改),clone速度太慢可使用镜像github.com.cnpmjs.org或者给git设置代理 - 在blog文件夹内执行
npm install安装必要模块(网上部分教程依次执行npm install hexo-cli,npm install,npm install hexo-deployer-git,笔者不清楚是否有必要) - 正常地更新博客然后使用
hexo g,hexo s,hexo d就行啦(若deploy提示失败根据提示登录即可)