0%

优雅的备份Hexo博客

花了一中午的时间把博客从github迁移到了coding,至于为什么要迁移,对比一下就知道了,也可以迁移到其他地方比如 https://zeit.co/home,提供简短的域名以及全球CDN还有证书,可以关联github 仓库实现自动构建,

当然还是coding好用,毕竟是国内的2020年1月coding全面更新,之前的博客都用不了了,拖了很久,终于把博客折腾好了,顺便总结一下寒假学到的东西,先说一下备份吧,偷得帖子,讲的很详细了,主要怕被删帖

用的是一个插件:hexo-git-backup,Hexo官网的插件里搜不到,这个插件发布在了GitHub上,关于安装使用官方也给了很简洁易懂的说明文档。

备份

安装插件

如果你的Hexo版本是2.x.x(查看Hexo版本可使用命令:hexo version)在终端中使用如下命令安装:

1
$ npm install hexo-git-backup@0.0.91 --save

如果你的Hexo版本是3.x.x则使用如下命令安装:

1
$ npm install hexo-git-backup --save

插件升级

如果你是通过--save安装的,那么升级之前你必须先删除旧的版本:

1
$ npm remove hexo-git-backup$ npm install hexo-git-backup --save

新建GitHub仓库

新建一个 GitHub 仓库用来备份博客(具体操作不再赘述)

复制仓库SSH链接备用,此处需确保你的电脑已通过SSH连接到 GitHub ,具体操作可参考 GitHub 官方帮助文档

插件配置

在博客根目录下的 _config.yml 文件中配置插件:

1
2
3
4
backup:    
type: git
repository: github: git@github.com:xxx/xxx.git,branchName
gitcafe: git@github.com:xxx/xxx.git,branchName

配置说明:

如果你想连同主题一起备份,在 _config.yml 文件中添加主题名即可:

1
2
3
4
5
6
backup:    
type: git
theme: coney,landscape,xxx
repository:
github: git@github.com:xxx/xxx.git,branchName
gitcafe: git@github.com:xxx/xxx.git,branchName

注意:如果你选择了备份主题例如landscape,那么landscape主题文件夹下的 themes/landscape/.git 文件就会被删除

如果你想自定义 commit 信息,添加一行 message: update xxx 即可:

1
2
3
4
5
6
backup:    
type: git
message: update xxx
repository:
github: git@github.com:xxx/xxx.git,branchName
gitcafe: git@github.com:xxx/xxx.git,branchName

插件使用

现在就可以使用以下命令备份你的博客到GitHub了

1
$ hexo backup

或者

1
$ hexo b

博客备份至此就已经结束!安全起见可以每次 hexo d 的时候同步 hexo b 备份一下博文。

恢复

有时候换了另一台电脑或者另一个系统环境下,想要写博客就不得不把博客文件迁移过去,这一部分是关于博客的迁移,接上文使用 hexo-git-backup 插件的情况下(其他方法备份的博客原理类似)。

安装Hexo

根据 Hexo 官网说明安装 Hexo 即可

附上官网地址:https://hexo.io/zh-cn/

要部署博客到 GitHub 还需要安装插件:

1
$ npm install --save hexo-deployer-git

恢复博客

下载或者 clone 前文所述备份的博客到本地任意位置,复制备份文件夹内所有文件到新安装的博客目录下,重复文件保留备份的即可。

至此博客迁移已完成,可以”三部曲“测试一下是否迁移成功:

1
$ hexo clean$ hexo g$ hexo s
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
分支操作:
git branch -a #查看所有分支
git branch -r #查看远程分支
git branch -vv #查看本地分支所关联的远程分支
git branch -m old_branch new_branch # 重命令本地分支
版本回退
git log 显示提交日志
git reset --hard a7e1d279
git checkout -b add_orderdesc 在本地创建+切换分支
git push origin add_orderdesc 新建远程分支
git branch --set-upstream-to=origin/add_orderdesc 把本地分支与远程origin的分支进行关联处理
git branch -u origin/addFile 建立当前分支与远程分支的映射关系:
git branch --unset-upstream 撤销本地分支与远程分支的映射关系

touch README.md
git init
git add README.md
git commit -m "first commit"
git remote add origin https://xxxxxxx/wangdong/helloworld.git
git push -u origin master

如果本地的代码,没有关联任何远程分支
git remote add origin https://xxxxxxx/wangdong/helloworld.git
git push -u origin master
git remote remove origin 解除当前分支与远程仓库关联
iBoy wechat
欢迎您扫一扫上面的微信公众号,订阅我的博客!