前情提要
前几天使用hexo搭建了Github博客,今天在公司的电脑上想要同步Github博客到本地,遇到了点坑,查询了 一下网上的资料,现在记录一下,也算给遇到同样问题的小伙伴们一个参考。
多设备同步
同步思路与Github推拉源码思路相同,使用git指令,保持本地的博客文件与Github上的博客文件相同即可,其步骤如下:
- 使用hexo搭建部署Github博客
1 | // 在本地博客根目录下安装hexo |
详情参考《全民博客时代的到来——20分钟简要教程》一文。
- 上传博客工程
上一步部署博客到Github以后,我们可以在Github仓库的master分支上看到我们上传的博客文件。
但是这个博客文件是不包含hexo配置的,所以我们需要新建分支,使用git指令将带hexo配置的Github工程文件上传到新建的分支上。
在本地博客根目录下使用git指令上传项目到Github:
1 | // git初始化 |
- 其他设备上clone下Github上新建的分支的文件到本地
在另一台设备上使用git指令下载Github新建分支上的文件:
1 | // 克隆文件到本地 |
- 本地写文章
在source
->_posts
文件夹下新建md文件,并编辑好保存后:
- 部署到Github
1 | // 安装hexo |
- 同步项目源文件到Github
1 | // 添加源文件 |
至此多设备同步到此为止。
FAQ
由于公司里的电脑是win 10所以在部署博客的过程中会遇到一些问题,整理如下:
fatal: could not read Username for ‘ https://github.com ‘: Invalid argument
由于使用的是https协议,安全性较高,所以系统终端不允许部署,所以我们该用 ssh,修改本地博客hexo配置文件_config.yml,将repository参数修改如下:*
1 | repository: ssh://git@github.com/iNerdStack/inerdstack.github.io |
继续执行hexo deploye
指令进行部署。
Could not read from remote repository
这是因为系统没有添加github的ssh信任到本机,所以我们要在命令行执行:*1
2ssh -T git@github.com
yes