记一次跨设备转移+备份
记一次跨设备转移+备份
Stardream写在前面
记一次跨设备转移+备份
首先我们要在做备份/转移的设备上安装 backup 程序
查看hexo 版本
进入博客目录,右键 Git Bash 输入查看 hexo 版本,rt我的 hexo 版本是5.4.0
hexo version |
安装 hexo backup
参考文章中建议Hexo 版本是 3.x.x或者4.x.x(我的hexo版本是5.x.x同样也安装成功了)
使用以下命令安装
npm install hexo-git-backup --save |
创建分支
前往你的blog仓库,如图创建(我的分支名为backup,图中加了-test只为展示):
配置
到 Hexo 博客根目录的 _config.yml 配置文件里添加以下配置(将 2427768286
改为你自己的用户名即可):
backup: |
参数解释:
theme:你要备份的主题名称
message:自定义提交信息,随便填
repository:仓库名,注意仓库地址后面要添加一个分支名,比如我就创建了一个backup 分支
备份
最后使用以下命令备份你的博客
hexo backup |
备份成功后可以在你的仓库分支下看到备份的原始文件:
还原
先安装好 git、ssh、node、hexo,使用 git clone
克隆 backup
分支的源文件,--recursive
参数可以同步还原 submodule
git clone -b backup git@github.com:2427768286/2427768286.github.io.git --recursive |
如果已将 backup
分支设置为默认分支,可省略 -b source
参数
也可以使用 git submodule init
和 git submodule update
进行子模块的还原
转移后遇到的一系列问题
需升级node版本
报错内容
fatal: in unpopulated submodule '.deploy_git' |
fatal: the remote end hung up unexpectedly |
删除用代码
## 进入站点根目录 |
报错内容
第1种
error: src refspec master does not match any |
第2种
error: src refspec master does not match any |
解决方法
第1种
把本地的 backup 仓库名称修改为远端的 hexo(默认分支)
重命名命令:
git branch -m oldBranchName newBranchName |
将本地 backup 改为 hexo 命令:
git branch -m backup hexo |
第2种
把本地的 hexo 仓库名称修改为远端的 master
重命名命令:
git branch -m oldBranchName newBranchName |
将本地 hexo 改为 master 命令:
git branch -m hexo master |
报错内容
fatal: 'github' does not appear to be a git repository |
解决方法
输入命令查看是否列出了报错内容中的”github”
git remote -v |
若没有则意味着 your “github” is missing.
接下来需要使用以下命令行添加 “github”(将 2427768286
改为你的用户名即可)
git remote add github git@github.com:2427768286/2427768286.github.io.git |
若报错
error: remote github already exists. |
则使用以下命令行(将 2427768286
改为你的用户名即可)
git remote set-url github git@github.com:2427768286/2427768286.github.io.git |