为什么要同步hexo配置文件?
- 问:通过执行hexo g; hexo d; 我的本地文件不是已经同步到github了吗?
- 答:不! 并没有。让我们看一下博客本地目录
当我们执行完hexo g,hexo d;时,hexo只会帮我们做两件事情:
1、将md文件以及其他你在hexo 所做的配置,转化成静态网页文件(例如:html、css等),而转化之后的文件会放在 .deploy_git(上图箭头所指文件)这个文件夹中。
2、把 .deploy_git 文件夹 推送到github仓库。
OK,这就意味着什么呢,意味着你可能会遇到一个悲伤的故事:如果某一天你像我一样把博客本地文件丢了。你只能在xxx.github.io这个仓库找到.deploy_git目录下的静态网页文件。md格式的博文、hexo根目录配置、主题目录配置都没了。 当然你的博客网站还是可以访问的,毕竟你的网站一直托管在github page上面。但是你如果想再像之前那样修改你的博客就不行了。
- 所以我也吸取教训,在xxx.github.io新开一个分支,同步的配置文件。
- 没必要新开一个仓库来管理博客,而且也不好管理。
在xxx.github.io仓库新开一个分支
我新开的是 source 分支。然后将该分支设为默认分支
同步本地文件到分支
- 找个地方新建一个文件夹,在这里git clone你的xxx.github.io仓库
- git clone结束后进入xxx.github.io文件夹。这时候执行 git branch命令你会发现你正处于source分支下(因为前面你已经在github将source设置为默认分支了)
- 删除xxx.github.io目录除了.git的剩下其他所有目录。
- 把你想要同步的文件放到该目录下。我想同步我的.md文件所以我把本地博客文件的source文件复制了过来。
接下来便是git常规操作,执行下面命令最后查看远程库的source分支便能看到上传的文件了。1
2
3
4
5
6
7
8
9
10
11
12// 删除所关联的远程仓库地址
$ git remote rm origin
//关联新的远程仓库
$ git remote add origin https://github.com/youName/youName.github.io.git
$ git add .
$ git commit -m "something"
//推送到远程库source分支
$ git push orign source
//失败则执行
$ git pull origin sourse
//再执行
$ git push orign source