用hexo搭了这个静态博客,但是换台电脑就不可以写文章了。
尝试了用两个分支管理博客代码之后,记录一下这个艰辛的过程。
使用Hexo搭建静态博客流程
- 创建仓库,lusssn.github.io
- 创建两个分支:master 与 hexo;
- 设置hexo为默认分支,因为我们只需要手动管理这个分支上的Hexo网站文件
- git clone拷贝仓库
- 在本地 lusssn.github.io 文件夹下通过Git bash依次执行npm install hexo、hexo init、npm install 和 npm install hexo-deployer-git(此时当前分支应显示为hexo)
- 修改_config.yml中的deploy参数,分支应为master
- 依次执行git add .、git commit -m “…”、git push origin hexo提交网站相关的文件
- 执行hexo g -d生成网站并部署到GitHub上
这样一来,在GitHub上的 lusssn.github.io 仓库就有两个分支,一个hexo分支用来存放网站的原始文件,一个master分支用来存放生成的静态网页。完美( •̀ ω •́ )y!
按照上面的步骤尝试了无数次终于成功了,总结一下经验:
- 原本在笔记本电脑上已经有一个lusssn项目了。
- 在git网页端建了两个分支后,将项目代码完整地放到了hexo分支。
- 换了一台电脑。开始没有设置默认分支为hexo。直接使用pull命令拉去代码。
(这也可能是导致失败的一个点)
- git push origin hexo 会报错,必须是git push origin HEAD:hexo。
(应该是上面直接拉去分支代码的步骤导致的)
- 失败后设置了默认分支将hexo的代码clone下来,添加了新文章,执行hexo deploy 总是会将hexo分支上的代码merge到master分支。
无论多少遍都是这样。想来想去应该是hexo配置的问题。
于是决定重头来一遍
- 新建文件夹 hexo init、npm install、copy原有的配置和文章之后成功deploy。
(直到这一步都没有执行git init,所以有怀疑是不是.git文件的原因)
- 对比失败的文件目录,去掉.deploy_git文件夹、.gitmodules、.git,deploy成功。
- 执行git init,添加了.git之后deploy仍然成功。
失败的原因具体的没有找出来。可能是.deploy_git文件夹的问题。