在Github上面搭建Hexo博客(四):使用不同电脑维护

这一篇是本系列的最后一篇,到目前为止,我们搭建的Hexo博客已经能满足我们日常的需求。可是有没有想过我们其实只能在这一台电脑上更新我们的博客?如果有一天我换了一台电脑,或者公司和家里不同的电脑都想更新博客,应该怎么办呢?

这里只给类似我这样的git新人做参考,git的很多用法我也不太熟练。如果有错误还请各位指正。

这里需要注意的是,当我们执行$ hexo deploy,部署到Github上面的是hexo给我们生成的静态页面,并不是整个hexo博客工程文件,所以并不能简单的在不同PC的更新博客。

其实有两种办法,第一就是把整个目录备份到云盘,然后开启云盘同步该文件夹,虽然操作简单,但是同步很麻烦,需要手动将文件夹进行覆盖。第二种就是使用Git的第三方服务,只要配置完成,不管到哪里,用哪台电脑都能简单实现更新博客(当然需要Node.js和Git运行环境,在我们本系列的第一篇有讲解)。

在本文中详细讲解如何使用第三方git服务进行博客的备份。可以Github放在共有仓库,如果你担心泄密,可以用Github的私有仓库(收费),国内除了Github还有许多知名的git服务商,如:gitcafe,bitbucket,oschina,coding等,据我了解,oschina的私有仓库是免费的,而且可以和Github进行同步。因为我们的博客放在了Github,所以我们不妨就把我们博客程序也同步到Github的仓库中。

下面我们就来讲解如何实现不同电脑同时更新博客。

将我们的博客目录备份到Github,实现多PC维护

Github网站创建一个新的repository

我们在这里给新创建的repository命名为blog;

不会创建方法的朋友可以参考在Github上面搭建Hexo博客(一)中的创建方法。

在A电脑中从本地上传Hexo到Github仓库

A电脑指的是建立Hexo博客的电脑。

1.初始化仓库

在Hexo博客的根目录运行Git Bash并输入以下命令:

$git init
$git remote add origin <server address>

这里<server>指的是在线仓库的地址,比如在这里我的就应该是https://github.com/Gitzhaoyang/blog.git,如果你用其它git仓库服务,填写对应仓库地址即可。
origin是本地分支,remote add会将本地仓库映射到Github仓库

2.把本地文件同步到Github上面

分别输入执行以下命令:

$ git add .  #添加所有目录,注意add后面有个点`.`
$ git commit -m "add to Github" #添加提交说明,每次提交都需要
$ git push -u origin master   #把更新推送到云端

这时可以登录Github账户查看刚创建的blog仓库中是否上传成功
windows平台可能push过程中会提示输入Github的用户名和Github的密码,输入正确便是。

注意:

为了在另一台电脑上配置更加方便,严重建议把Hexo博客目录下_config.yml文件复制粘贴一份,并重命名为hexo_config.yml;把themes目录下你用到主题目录下的_config.yml文件也复制一份,并粘贴到博客根目录,注意,是’博客根目录’,并命名为theme_config.yml。原因是我们上传的时候,我们自己安装的themes如:[NexT](http://theme-next.iissnan.com),它的'next'目录并不能上传,所以我们需要把这两个配置文件都保存下来在进行同步工作。

在B电脑中从Github仓库取回Hexo到本地

B电脑指的是另一台电脑,如果没有另一台电脑也可以找地方新建一个文件夹尝试。

1.安装Git和Node.js

值得注意的是新电脑也需要安装Git和Node.js环境,参考[本系列的第一篇](/2015/10/12/create-hexo-on-github-1/)中安装方法。

2.把文件取回本地

安装环境完成后,在新文件夹下运行Git Bash并分别执行以下几条命令:
$ git init
$ git remote add origin
$ git fetch –all
$ git merge origin/master
这里<server>仍然是你的Giuhub地址。fetch是将仓库中的内容取出来。reset则是不做任何合并(merge)处理,直接把取出的内容保存。
运行完merge命令后你会发现文件夹中就会出现刚刚上传的内容。但是配置并没有完成,请继续往下看。

3.配置新的Hexo

如果是新PC,不要忘记我们本机并没有安装Hexo博客

1.首先,在刚才的目录下执行以下命令以在新机器中安装Hexo

$ npm install hexo --save

2.初始化Hexo并安装相应依赖包

$ hexo init
$ npm intall

3.记得在第一篇中讲过,新安装的Hexo是没有hexo-deployer-git依赖包的,需要手动安装

$ npm install hexo-deployer-git --save

4.如果你在A机器上设置了订阅(feed),那么你需要重新烧制feed,需要重新安装依赖包,没有设置feed的可以略过

$ npm install hexo-generator-feed --save

5.安装主题,我在上文中提到新安装的主题并不能被上传,所以也需要重新手动安装(以NexT主题为例)

$ git clone https://github.com/iissnan/hexo-theme-next themes/next

这里要注意的是: themes/next主题保存目录

6.我们之前备份的两个配置文件hexo_config.ymltheme_config.yml有用了,hexo_config.yml重命名为_config.yml覆盖根目录下的同名文件,而theme_config.yml也重命名为_config.yml覆盖主题目录下的config.yml文件。注意文件名前面的下划线’_’。

7.输入命令$ hexo generate和命令$ hexo server,然后在浏览器输入localhost:4000中进行预览。如果没有问题那么我们在B电脑上就配置成功了。

在B电脑上更新博客

现在在B电脑上也可以像在A电脑上一样更新博客了,同样是$ hexo new post "my_new_post"
编辑完文章,然后执行$ hexo generate$ hexo deploy就可以成功发表了。
这里$ hexo deploy命令是将我们的博客文章发表到我们的Github上的Hexo博客,并不是前文新建的blog仓库,新建的blog仓库用来保存我们的Hexo程序。

把B电脑上的Hexo从本地同步到Github仓库

当发表完文章,我们还需要把Hexo程序同步到我们Githubblog仓库。执行下面指令:

$ git add .

这时候可以输入命令$ git status查看状态,回显示刚才编辑过的文件的信息。

之后分别输入下面指令完成上传:

$ git commit -m "commit from PC_B"
$ git push -u origin master

成功后,我们再次把程序同步更新到了我们的Github仓库blog
如果再想用A电脑更新我们的博客,只需要在执行添加文章之前先把程序从blog仓库拉取下来便可。输入命令:

$ git pull https://github.com/Gitzhaoyang/blog.git

即可完成。

注意:

我们每次更新博客时,为了保持我们每次用到的程序都是最新的。

每次更新博客之前都需要执行$ git pull https://github.com/xxxx/xxx.git保持本地最新;

每次更新博客之后都需要执行$ git add .,$ git commit -m "message",$ git push -u origin master以保持Github仓库程序最新。

好了,现在我们就能实现在不同电脑都能对我们的Hexo博客进行维护了。😎😘

坚持原创技术分享,您的支持将鼓励我继续创作!