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

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

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

Note: 这里需要注意的是,当我们执行$ 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仓库

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

初始化仓库

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

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

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

把本地文件同步到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到本地

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

安装Git和Node.js

值得注意的是新电脑也需要安装Git和Node.js环境,参考本系列的第一篇中安装方法。

把文件取回本地

安装环境完成后,在新文件夹下运行Git Bash并分别执行以下几条命令:

> git init $ git remote add origin <server>
> git fetch --all $ git reset --hard origin/master

这里<server>仍然是你的Giuhub地址。fetch是将仓库中的内容取出来。reset则是不做任何合并(merge)处理,直接把取出的内容保存。

运行完reset后你会发现文件夹中就会出现刚刚上传的内容。但是配置并没有完成,请继续往下看。

配置新的Hexo

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

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

   $ npm install hexo --save

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

> hexo init
> npm intall

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

> npm install hexo-deployer-git --save

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

> npm install hexo-generation-feed --save

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

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

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

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

输入命令 $ 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博客进行维护了。😎😘

updatedupdated2015-10-142015-10-14