hexo deploy
会自动将源文件生成的 html 页面发送到远程仓库的master分支,但是博客的源文件(尤其是markdown文件)并没有上传
更稳妥的方式是将 hexo博客的整个工作目录一并保存,可以新建一个git分支用来保存源文件
在blog-folder目录下
git init
但是这个时候还不能 git add *
因为该目录下存在.gitignore文件,gitignore文件中包含
.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
其中
db.json
Thumbs.db
node-modules/
这3项中包含了我们已经安装的hexo相关插件的重要信息。这些文件不应该被忽略,这些文件丢失了就需要重新安装,又是一件十分麻烦的事情。
所以一定要从.gitignore文件中移除这些文件, 这是备份源代码要做的第一件事情。
移除完毕之后, .gitignore
文件变为:
.DS_Store
*.log
public/
.deploy*/
接下来就可以
git add *
git commit -m "first commit"
由于git init默认为我们创建的分支是master分支,所以本地仓库现在只有一个master分支,我们当前也正处于master分支。 所以我们需要新创建一个source分支。
git checkout -b source
git remote add origin 远程仓库地址
git push -u origin source
此时,我们最好去github上的远程仓库上,将远程仓库的主分支设置为source分支(默认为master分支)。当我们在另一台电脑上从远程仓库clone时,本地仓库默认所在的分支是source分支,而不是只有html页面的master分支。
接下来,我们hexo工作的地方就是主分支(source分支)。 本地的master分支是没有用的,可以删除。
当我们运行hexo d
时,生成的静态代码(在public
文件夹中)会被自动 push 到远程仓库的maser
分支。
然后基于github pages服务,我们访问对应的网址时,就会展现出我们的博客。
总结一下,远程仓库的master分支是存储静态代码的,远程仓库的source分支是备份我们的源代码的。本地仓库的source分支是hexo要工作的地方,在本地仓库创建的master分支是没有用的。
此后,我们做任何操作,都记得要进行git push备份。