0x00原理介绍
我们的思路其实就是把静态文件和Hexo环境,分别存在username.github.io的master和hexo分支上。
- 完成Hexo本地运行后,会在本地文件里生成一个public文件夹。public文件夹内是根据.md生成的html文件,也就博客的静态文件。
- 通常情况下,我们执行:
$ hexo d
就是把public文件夹下的文件同步到github,然后就能通过https://username.github.io/访问博客了。
0x01搭建的流程
- 创建仓库,http://Cherishao.github.io;
- 创建两个分支:master 与 hexo;
- 设置hexo为默认分支(因为我们只需要手动管理这个分支上的Hexo网站文件);
- 使用git clone git@github.com:Cherishao/Cherishao.github.io.git拷贝仓库;
- 在本地http://Cherishao.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上的http://Cherishao.github.io仓库就有两个分支,一个hexo分支用来存放网站的原始文件,一个master分支用来存放生成的静态网页。完美( •̀ ω •́ )y!
hexo分支">0x01hexo分支
在其中一个终端操作,push本地文件夹Hexo中的必要文件到yourname.github.io的hexo分支上
git init //初始化本地仓库
git add source //将必要的文件依次添加,有些文件夹如npm install产生的node_modules由于路径过长不好处理,所以这里没有用`git add .`命令了,而是依次添加必要文件,如下图所示
git commit -m "Blog Source Hexo"
git branch hexo //新建hexo分支
git checkout hexo //切换到hexo分支上
git remote add origin git@github.com:yourname/yourname.github.io.git //将本地与Github项目对接
git push origin hexo //push到Github项目的hexo分支上
0x02.另一终端完成clone和push更新
此时在另一终端更新博客,只需要将Github的hexo分支clone下来,进行初次的相关配置
git clone -b hexo git@github.com:yourname/yourname.github.io.git //将Github中hexo分支clone到本地
cd yourname.github.io //切换到刚刚clone的文件夹内
npm install //注意,这里一定要切换到刚刚clone的文件夹内执行,安装必要的所需组件,不用再init
hexo new post "new blog name" //新建一个.md文件,并编辑完成自己的博客内容
git add source //经测试每次只要更新source中的文件到Github中即可,因为只是新建了一篇新博客
git commit -m "XX"
git push origin hexo //更新分支
hexo d -g //push更新完分支之后将自己写的博客对接到自己搭的博客网站上,同时同步了Github中的master
0x02日常的改动流程
在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理。
1. 依次执行git add .、git commit -m “…”、git push origin hexo指令将改动推送到GitHub(此时当前分支应为hexo);
2. 然后才执行hexo g -d发布网站到master分支上。虽然两个过程顺序调转一般不会有问题,不过逻辑上这样的顺序是绝对没问题的.
git pull origin hexo //先pull完成本地与远端的融合
hexo new post " new blog name"
git add source
git commit -m "XX"
git push origin hexo
hexo d -g