使用git分支管理hexo博客源码
背景
使用hexo写博客的流程通常是:
- 通过hexo new post_name命令,会自动在source/_post目录下生成一个待写的post_name.md文件;
- 编写完该md文件后,用hexo generate编译生成对应的HTML文件;
- 发布之前,可以用hexo s本地预览,然后通过hexo deploy发布到远程仓库的master分支,然后你的个人站点就能看到刚才新加的文章了。
然而,远程仓库只会保存hexo发布后的静态HTML文件,博客md源文件、主题配置等还在本地,一旦电脑磁盘坏了或者换了电脑,就无法在之前仓库的基础上继续写博客。
解决办法
新建git分支
Github Page要求使用master分支作为发布网站的源代码,我们只能用master分支来保存hexo生成的静态网页,所以可以新建一个dev分支来保存源代码。
如图在红框位置输入需要新建的分支名就会提示新建分支,此处我已经新建,故直接显示dev分支。

此时建立的分支是从master分支克隆过来的,因而master中已有的public等deploy生成的文件也会一起带过来,这些都不算是博客源文件。可以先在本地把它删掉,然后提交推送到GitHub上的dev分支
git add .
git commit -m ‘删除public文件’
git push origin dev
更改仓库的默认分支
github上的仓库初始都会有个master分支,也就是默认分支。
对于一个仓库project_name,当我们通过
下载代码时,实际拉取的是默认分支master对应的代码。
而我们用hexo写博客时,通常是与md源文件打交道,对于deploy生成的master分支代码并不需要我们关注,因此可将仓库的默认分支改为保存源码的dev分支,这样通过git clone拉取的就是dev分支代码了。
在仓库的主页面,通过Settings -> Branchs,可以看到Default branch的Tab,显示的默认分支是master,可以勾选dev,然后update即可将默认分支设置为dev,如下图:

推送博客源码
将本地的md源文件、站点配置文件等推送到source分支。
因为我们只需要保留博客源码,其他无关的文件并不希望推送,需要确保配好了.gitignore文件,通常如下:
.DS_StoreThumbs.dbdb.json*.lognode_modules/public/.deploy*/
然后执行:
git add .
git commit -m ‘新增博客’
git push origin dev
将源代码修改已经新增的博客md上传到dev分支
新环境
假设我们换电脑了,要在新环境继续在原有仓库基础上撸文章,此时通过git clone将博客源码拉到本地,然后安装、初始化hexo就能搞定。
转发:https://blog.csdn.net/weixin_29164081/article/details/112712581
git push –set-upstream origin dev
git pull –rebase origin dev
git remote set-url origin https://github.com/xdw-h/xdw-h.github.io.git
git remote add origin https://github.com/xdw-h/xdw-h.github.io.git