MENU

Hexo内容同步方案

April 19, 2016 • 默认分类

解决思路利用的是github仓库。google搜索后发现大多数用的都是类似的方法。

Step1:
切换到本地hexo根目录,比如我的是F:hexo 然后新开辟一个分支(branch)或者新建一个新的仓库(repository)

如果hexo根目录下没有.gitignore文件就新建一个,加入如下内容

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy_git/
.deploy/
cd F:\hexo
git init 
git checkout -b source
git add .
git commit -m "first commit"
git push origin source

到这里基本上A电脑上已经差不多完成了。以后发文章的时候执行hexo d -g进行文章发布操作。然后在执行git push origin source推送Markdown源文件到新创建的branch分支上就可以了。

Step2:

这一步其实是在B电脑上,也就是比如我家里的Mac上操作。

  • 首先和在A电脑上一样,配置好环境,也就是安装hexonode.js

    brew update
    brew install node
    npm install hexo-cli -g
  • 安装完成后千万不要执行hexo init进行初始化。而是使用克隆github仓库的方式来生成hexo本地文件夹。

    git clone -b source git@github.com:你的github用户名/你的github用户名.github.io.git

上面的操作是需要ssh公钥的,关于如何在github配置公钥请自行Google。

然后使用npm install来安装所依赖的node.js插件。(根据package.json文件来安装)

Step3:

到这里其实A、B电脑的同步工作差不多已经完成了。现在就可以在B电脑上进行写文章了。

  • 写文章

    hexo new "First Post for Mac"
    hexo g
    hexo d
    git add .
    git commit -m "Added new Post"
    git push origin source

这样就完成了两个终端之间的同步。这种方法的缺点是每次发布文章的时候其实要执行2次push操作。一次是hexo d -g一次是git push操作。所以后来发现一个更优雅的方法是使用Travis CI持续构建方法。以后有空研究下,目前刚接触hexo还是使用这种同步方式吧。


关于说同步主题theme文件夹出现.git文件夹嵌套问题,貌似我push的时候没有报错。所以先不管了,等遇到的时候在解决。