再也不用担心博客迷路了!

1 机制与原理

Hexo先在本地生成静态网页文件并暂存于.deploy_git文件夹中,然后部署时只把该文件夹push到远程仓库的master分支中。因此,我们可以在仓库中创建第二个分支来备份源文件。这样我们就能在利用Git的分支管理系统来进行多终端工作了。

2 备份步骤

2019年5月30日更新:由于GitHub的公开仓库才能免费使用静态网页,为避免源码泄露使用Coding仓库。

  1. 打开Coding中博客所在的仓库,新建一个分支,命名为hexo
  2. 在仓库的settingsBranches选项中,把默认分支设为hexo。(因只需要对hexo分支进行手动操作,这样同步不需要指定分支,更加方便。)
  3. 在本地任意目录下,git bash here
    git clone git@git.dev.tencent.com:YvanZh/YvanZh.coding.me.git
    
  4. 在克隆到本地的YvanZh.coding.me文件夹中,删除.git文件夹以外的所有文件。
  5. 将博客的源文件全部复制到YvanZh.coding.me文件夹中,除了.deploy_git。复制过来的源文件应该有一个.gitignore,用来忽略一些不需要的git的文件。如果没有的话,新建一个,内容如下:
     .DS_Store
     Thumbs.db
     db.json
     *.log
     node_modules/
     public/
     .deploy*/
    
  6. 如果之前克隆主题文件,需要删除theme文件夹中的.git文件夹。
  7. 最后git bash here
     git add .
     git commit -m "add branch"
     git push
    

这样就将博客源文件上传到了hexo分支,完成了备份。
PS:注意.git文件夹为隐藏文件夹,请务必开启隐藏文件可见。

3 更换终端后

搭建环境的过程与之前无异:

  1. 安装Git,并绑定全局用户名和邮箱,配置SSH密钥。
  2. 安装Node.js
  3. 安装Hexo
     npm install hexo-cli -g
    
  4. 之后无需进行博客初始化,直接在任意文件夹下,gti bash here
     git clone git@git.dev.tencent.com:YvanZh/YvanZh.coding.me.git
    
  5. 然后cd YvanZh.coding.me,进入克隆到本地的文件夹:
     npm install
     npm install hexo-deployer-git --save
     hexo g -d
    
  6. 终于可以开始写新博客了:
     hexo new newpage
    
  7. 最好每次写完博客之后更新一下hexo分支:
     git add .
     git commit -m "xxx"
     git push
    
  • 咦~好像出现了一点不明真相的Bug(貌似是因为在第4步时没有按照SSH协议的方法来克隆仓库)导致git push需要输入密码,那么解决办法如下:
    git remote set-url origin git@git.dev.tencent.com:YvanZh/YvanZh.coding.me.git
    

4 结语

颇费,美滋滋,滚去看论文了~