Hexo博客备份

博客越写越多,将markdown源文件备份到github变得非常重要。github pages要求免费账户的username.github.io必须是public repository。网上主要有两种方案,一个是用hexo-git-backup插件,另一个是在username.github.io上创建另一个分支进行备份。

这两个方案都偏复杂,第一个引入了额外的依赖,而且看起来和使用的hexo版本还有点关系,第二个用一个branch进行备份略奇怪。

考虑到hexo-deployer-git使用的是.deploy_git目录,与源文件所在目录无关。那么最简单的方案是新开一个repository (public/private均可),让本地博客文件夹直接track这个新的repository即可。同时注意把不必要的文件和目录用.gitignore去除。

.gitignore文件

.DS_Store
Thumbs.db
db.json
*.log
*.png
*.jpg
node_modules/
public/
.deploy*/

查看当前的远程仓库

$ git remote -v
origin  git@github.com:finisky/finisky.github.io.git (fetch)
origin  git@github.com:finisky/finisky.github.io.git (push)

当前的远程仓库和.deploy_git中的远程仓库相同,所以从这里直接push origin master会让github pages失效。

在Github上新建一个仓库

点点鼠标即可。记下新仓库的地址git@github.com:finisky/xxx.git

修改远程仓库url

git remote set-url origin git@github.com:finisky/xxx.git

查看是否修改成功:

$ git remote -v
origin  git@github.com:finisky/xxx.git (fetch)
origin  git@github.com:finisky/xxx.git (push)

然后直接git push origin master即可将博客备份到git@github.com:finisky/xxx.git仓库中。同时不影响hexo deploy的博客发布。

至于博客的恢复不再赘述,基本的git操作。