事前准备:

一台已经配置好Hexo的电脑A、等待同步的电脑B、一个git代码托管网站的账号(github、coding等等)。windows环境下的Hexo安装步骤可参考:利用github pages 和Hexo搭建博客(Windows环境)

目前我已在一台windows环境的电脑(称之A电脑)中配置好hexo,我的另一终端系统环境是deepin linux15.03(称之B电脑),目标是把A电脑中的博客源码同步到git远程仓库中,然后在B电脑中拉取git远程仓库的博客源码,完成博客配置,并且在每次发布新文章后把新文件同步到git远程仓库,达到多终端同步撰写博客的目的。

了解git的基本操作。

史上最浅显易懂的Git教程
这个作者的Git教程还是可以的,读一下就可以理解操作过程的原理,不用担心操作出错又不懂怎么解决。

新终端安装node和hexo。

node:linux 下部署nodejs(两种方式)
hexo:hexo官网
安装好就行了,不用在博客目录运行hexo init来初始化博客。
如果已经初始化好了一个博客目录,进入目录把目录清空即可,等下就用这个目录同步git远程仓库的文件。

开始同步源码。

参考:利用git解决hexo博客多PC间同步问题
A电脑(windows)的站点配置文件和主题配置文件都被我加到.gitignore文件里面了,如果这两个文件含有敏感信息,还是可以忽略掉的。
对于B电脑(deepin),因为博客是在原先的A电脑中已经配置好的,现在只需要按步骤三把git远程仓库的文件pull到博客目录,把没有同步到git远程仓库的站点配置文件和主题配置文件_config.yml复制到本地博客目录,就可以在这个B电脑写文章发表了。

问题总结

node和hexo配置问题

一开始配置node时我是用软连接的方式把node和npm链接到/usr/local/bin下,但是捣鼓了一下,重启过后又失效了。然后,配置hexo过程中出现的问题是终端提示“bash:hexo: 未找到命令 ”。
经过多番搜索、设置,发现解决方法是要在用户主目录下的.bashrc文件中把node、hexo所在目录添加到系统PATH路径才能够正常允许运行(大概Linux入门书籍都会讲解类似问题和原因)。
我的node所在目录是/home/mrrobot/software/node-v7.6.0-linux-x64/bin ,hexo所在目录是/home/mrrobot/software/node-v7.6.0-linux-x64/lib/node_modules/hexo-cli/bin
所以我在终端用以下命令打开gedit编辑.bashrc文件:
sudo gedit ~/.bashrc
打开.bashrc文件后,如果本来末尾就有export PATH=”$PATH:/usr/local/bin/这样的字段,那么我就直接把

:/home/mrrobot/software/node-v7.6.0-linux-x64/bin:/home/mrrobot/software/node-v7.6.0-linux-x64/lib/node_modules/hexo-cli/bin

插入到/usr/local/bin/后面就行。要注意每个路径之间的冒号分隔。
如果没有,就在末尾添加

export PATH=”$PATH:/usr/local/bin/:/home/mrrobot/software/node-v7.6.0-linux-x64/bin:/home/mrrobot/software/node-v7.6.0-linux-x64/lib/node_modules/hexo-cli/bin”

然后注销,重新登陆,应该就可以正常运行node、npm和hexo了。在终端依次输入node -v、npm -v、hexo -v试试。能输出版本号就没问题了。

git推送问题

另外,按照上述链接的配置,在B电脑第一次执行git push时,出现:

mrrobot@mrrobotsmachine:~/workplace/blog/hexo$ git push
fatal: 当前分支 master 没有对应的上游分支。
为推送当前分支并建立与远程上游的跟踪,使用
git push –set-upstream origin master

于是我输入
git push --set-upstream origin master
才能正常推送到远程仓库。

参考链接

关于linux的环境变量详细的设置讲解:Ubuntu Linux 环境变量PATH设置