Molerose

Hexo+AB同时管理博客
网上有很多的关于 Hexo 搭建到 Github 的帮助文档以及个人博客讲解,但是对于AB电脑同时更新博客的详细文...
扫描右侧二维码阅读全文
05
2018/07

Hexo+AB同时管理博客

网上有很多的关于 Hexo 搭建到 Github 的帮助文档以及个人博客讲解,但是对于AB电脑同时更新博客的详细文章少的可怜,博主经过多次失败,才敲定出明确的步骤,特出此文,请笑纳!


新电脑上的基本配置

如常规安装一样,同样需要 Gitnode.js
如果新电脑上安装过 node.js 或者 hexo 的话,建议执行一下命令清除 node.js 的缓存

$ npm cache clean

Git配置用户名及邮箱

同正常安装一样,Git 安装好以后第一步就是配置好个人的用户名和邮箱地址

新电脑上同样生成密钥

新的电脑上生成密钥的步骤也是很重要的,同安装也是一样的,在 Github 个人设置中再添加一个新的密钥
注意:因为博主用的是ssh,所以此步骤的话可以省略(因为我的ssh密钥我压缩在云盘里面了),但是如果你deploy项不是用的ssh那请老老实实的往下走 ,但是如果你是根据博主第一篇文章来进行操作的话,那么下面可以省略了,直接进入克隆仓库至本地这一步了!

生成密钥

$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

在GitHub添加SSH key

拷贝key

clip < ~/.ssh/id_rsa.pub

在GitHub右上方点击头像,选择 Settings ,在右边的 Personal settings 侧边栏选择SSH Keys
接着粘贴 (ctrl+v) key,点击 Add key 钮,然后执行以下命令,测试链接

$ ssh -T git@github.com

如果看到以下内容,则输入yes即可

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

如果看到以下内容,说明已经成功

Hi username! You've successfully authenticated, but GitHub does not
provide shell access.

相关资料:

克隆仓库至本地

$ git clone git@github.com:username/username.github.io

执行一下命令再次安装

$ npm install hexo
$ npm install express
$ npm install hexo-deployer-git --save

备注:

如果克隆下来的仓库无法本地调试(也就是 hexo s 命令无效)的情况下执行

$ npm install hexo-server --save

安装 hexo-server 模块
Hexo3 中, hexo-server 独立出来了,如要本地调试,需要先安装

备注:
如果在执行 hexo g hexo shexo 命令的时候出现了 bash: hexo:command not found 错误的话
修改环境变量中的 PATH 变量即可,值填写成 .bin 文件的路径
以博主的项目路径为例子的话 PATH 的值就是:
D:\amplest.github.io\node_modules\hexo\node_modules\.bin

题外话:
如果执行了 hexo s 后,本地通过 localhost:4000 查看的时候出现 Cannot GET 则执行:

$ npm update

使用如下命令可以查看自己本次更改的内容

$ git status

相关资料:

修改或更新完内容以后再次同步源文件及静态页面

$ git add --all
$ git commit -m "..."
$ git push origin hexo
$ hexo g -d

备注:
此处唯一省略的一点是少了 hexo init ,因为源文件克隆下来以后本身就是有hexo相关应用文件夹的,所以不需要重新生成文件夹了

没有经过测试的方法

在B电脑中拉 Github 中的 hexo 分支中的源文件还有如下的一个步骤

​$ git init
​$ git remote add origin https://github.com/username/username.github.io
​$ git fetch --all
​$ git reset --hard origin/hexo

备注:
执行第二步的时候,记住一点,本地文件夹的名称一定不能与Github上存放源文件和静态页面的分支一样,否则会报错!
执行第四步的时候,还有一种方式是 git pull origin hexo 但是不建议用,因为万一出错就尴尬了;
fetch 是将云端所有内容拉取下来。 reset 则是不做任何合并处理,强制将本地内容指向刚刚同步下来的云端内容(正常 pull 的话需要考虑不少冲突的问题,比较麻烦。)

写在最后

如果你真的用不惯命令去进行各种操作,或者你对Git真的不想去深究的话,又或者你不想那么麻烦的再去配置环境的话,我可以推荐给你2个工具,可以自己去研究研究

可是如果你真的喜欢Git这个工具的话,那么我推荐廖雪峰老师的博客给你,可以去拜读一下!

Last modification:July 5th, 2018 at 10:14 pm
If you think my article is useful to you, please feel free to appreciate

4 comments

  1. 江浙日报
    该评论仅登录用户及评论双方可见
  2. 江浙日报
    该评论仅登录用户及评论双方可见
  3. 运营狗

    你这是要把开源程序全部撸一遍的节奏

    1. Molerose
      @运营狗

      那可不
      我们需要接触蛮多东西,所以有些感兴趣的就顺带倒腾了下啊。

Leave a Comment