前言
上一篇讲到了,利用 GitHub 部署一个免费的博客。这里就讲一下如何把我们的源文件也送到 GitHub 上去呢?
我们知道利用 hexo 工具建立的博客,它是把我们的文章编译成静态网页,然后上传到服务器的。但是呢,原始的 MarkDown 等等都在本地计算机,可是如果我们换了电脑怎么办。这里有同学就想放在U盘,把整个博客文件夹复制过去不久行了。可要是电脑死机等呢?不就不能复制了,凉凉。这个时候我们可以借用 GitHub 来备份我们的网络源文件就行了。
我们知道 GitHub 是能建立分支的。所以我们利用它在我们的博客仓库建立一个分支来保存源文件。
原理
这里可以简单的理解,我们的博客是托管到 GitHub 上的。而我们每次上传(hexo d
)的是网页文件,不是我们的文章,所以我们如果想上传文章,但同时不会干扰到网页部署,就在 GitHub 的博客仓库上建立一个分支 hexo,这个 hexo 分支的作用就是用来保存我的 MarkDown 文章和一些其他文件。所以第一步我们就获得了博客仓库的 .git 文件夹,作用就是利用它连接到我们的博客仓库,而且建立分支 hexo。所以拿到这个文件夹,我们就把除了它的其他文件夹删掉了。
然后利用这个分支,把我们的 MarkDown 文章和其他文件上传到 GitHub 托管。这样 hexo d
推送的是 master 分支,而 git push
推送的是 hexo 分支,互不干扰。
建立一个中转站
- 我们先建立一个文件夹,名字随便,我这里叫 hexo,在该文件夹空白处,启动 GitBash
- 先克隆我们博客的仓库
git clone https://github.com/Witman1999/Witman1999.github.io.git
这里呢,克隆的地址是你自己的仓库地址,可不要把我的直接复制过去。
过后,它会把我们仓库复制下拉,其实这里仅仅只是为了获得版本管理的 .git 隐藏文件夹。
建立分支
建立一个分支,我这里分支名为 hexo ,输入代码
git checkout -b hexo
清空 hexo 分支
克隆下来的都是一些编译后的静态网页。我们也不需要,只要 .git 文件夹就行。
-
删除除了 .git 文件夹的所有文件。我们只需要这个版本管理,在删除后通过代码
git status
查看到
-
保存到带添加列表:
git add --all
这里是代表添加了所有
-
提交到本地仓库
git commit -m "清空hexo分支仓库"
-m 后面的提交信息可以自定义。
-
最后我们推送到远端更新
git push --set-upstream origin hexo
这里同时设置了以后默认为hexo分支,回到博客的根目录下就能看到。
后面红线标注的就是当前的分支。还有,我们的博客的站点配置文件 _config.yml 的默认提交分支要确保为 master
deploy:
type: git
repo: https://github.com/Witman1999/Witman1999.github.io.git
branch: master #提交的默认分支
移动文件
把 .git 文件夹移动到博客的根目录下
提交源文件
到了这一步。有个注意点。如果你的主题文件,是克隆 Github 下来的,那么会带有该主题的 Github 的 .git 版本管理文件,也就是 .git 文件夹。所以主题下面的要删除 .git 文件夹和 .gitignore 文件,否则会忽略这个 next 主题的上传。
安装更新 Github 的仓库的步骤,在博客的根目录下,输入
git add --all
git commit -m
“提交源文件”git push
(这里要确保提交的分支为 hexo ,在前面的步骤可以查看,如果不是可以输入git checkout hexo
切换分支)