最安全的 hexo 多电脑同步博客解决方案--非新建分支

本迁移解决方案博主亲测有效,请放心迁移,迁移过程中如果还遇到什么问题欢迎和我交流。

我们经常有这样一个需求场景:需要在多台电脑间完成 Hexo 博客的撰写和发布,这就涉及到如何多台电脑同步博客的问题。

我最近也遇到了这个问题,网上看了很多方案。目前网上大部分 hexo 多电脑同步博客方案都是新建一个开源分支去存放博客源文件,但是你会发现,这样做的话很多第三插件配置的appid、app_key等密钥信息也暴露在了公开的仓库里,存在一定的数据安全隐患。

那有没有什么办法不暴露这些信息呢?对了,用一个私有仓库来存放博客源文件不就结了嘛。虽然 Github 的私有仓库是收费的,但是我的博客是同时部署在 Github 和 Coding 的,而 Coding 是可以新建私有仓库的。Nice,完美解决。

当我准备写遍博客来分享(xuan yao)想到的这个解决方案时,最后还是荣幸的发现一遍文章已经分享了这个方案,只是在搜索引擎中不太好搜出来。本着“不重复造轮子的原则”,笔者就不重写了,而且他已经写的很好了。但是有几个问题需要特别注意一下:

  1. 该文中删除主题的 .git 配置,如果你有多个主题文件夹的话,需要都删除(如 NexT 主题)。然后删除的命令那位笔者不小心写错了,应该是:
    rm -rf ./themes/next/.git/

    用这条命令来删除你对应主题文件夹里的.git 文件夹,注意 .git 是一个隐藏文件夹。

  2. .gitignore 文件夹在 Hexo 的根目录下可能已经存在了,可以打开和该文中的忽略事项比对一下,如果一样,接着 git init 初始化 git 仓库就好;如果没有该 .gitignore 文件夹就新建一个添加相应忽略事项再 git init 初始化。

  3. 这点需要特别注意,否则可能导致迁移失败:
    虽然我们第 1 步中删除了主题的 .git 配置,第 2 步中Hexo项目根目录的 .gitignore 文件也并没有忽略掉 theme 这个文件夹。但是!! NexT 主题的文件夹原来是用 git 来管理的,里面还有一个 .gitignore 文件,把 themes/next/source/lib 目录下的很多文件给忽略掉了。

    这就导致了你上传到私有仓库时,你以为你把 themes 文件下的所有内容都上传到仓库了,但其实 “偷偷”的把 themes/next/source/lib 目录下的很多必要的文件也忽略掉了,并没有上传。然后在新电脑上拉下来的时候,hexo ghexo s 一预览,你会奇怪的发现:所有的 FontAwesome 相关的图标都不见了,其他的功能一切正常。

    正确的做法是:在新机器上把私有仓库上的博客源文件 clone 下来后,因为还缺点原来的文件,所以应该去原来机器上 themes/next/source/lib 目录下,把整个 lib 目录下的文件全部复制粘贴到新机器对应的 themes/next/source/lib 目录下,这样就能正常生成站点文件了。

    注意:同理,如果你的 themes 目录下有多个主题配置文件的话,可以查看是否有 .gitignore 文件,用 git 上传私有仓库时是否也忽略了一些必要资源,如果有再新电脑上对应复制过来就 OK 了。

    关于这个问题的详情,可以看这:https://github.com/theme-next/hexo-theme-next/issues/564#issuecomment-451385682

  4. 在新电脑上 npm install 下载 hexo 所需的环境的时候,要切到 hexo 的根目录下,再执行 npm install

  5. 当你在新电脑用 npm install 下载依赖的第三插件时,由于 node 的版本、众多第三方插件、跨平台等原因,可能有的插件会存在兼容性问题,导致下载不下来,笔者想迁移到 Mac 上就遇到兼容性问题了,fsevent 插件目前不支持 node v11+ 版本,而刚配置新电脑的 node 环境时,默认安装的是最新版的 node,需要降低 node 的版本才能下载成功。

    node 11 无法安装 fsevents 插件的解决方案

    至于如何降低 node 的版本,其实你不用删除,有一个叫 nvm (Node Version Manager)的工具,专门用来管理多个版本的 node 环境的,你可以下载多个版本的 node 存在你的机器中,用 nvm 的命令行就可以实现不同版本 node 环境的随意切换,非常方便。

    这是 nvm 的 github 地址

  6. 好,当你在新的电脑上写完博客,本地预览也没问题,准备用 hexo d 部署到 Github 和 Coding 上前,别忘了把新电脑的 SSH 公钥配置到 Github 和 Coding 上。

    然后用 hexo d部署时,由于在新机器上,SSH 密钥和之前的不一样,第一次尝试连接 Github 主机时会提示:
    The authenticity of host 'github.com' can't be established.
    Are you sure you want continue connecting?

    输入 yes 就好,同理 coding 仓库也会提示,同样输入yes。至此,新电脑上写完的博客也成功同步更新到 Github 和 Coding 的仓库上了。

    更新完博客后,记得 用 git push 将新电脑上改动的博客源文件也 push 到私有仓库中,实现博客源文件的同步更新。

  7. 当你在另一台电脑上准备开始写博客前,记得把远程私有仓库的最新博客源文件拉到本地,但记得不要用 git pull 的方式,用如下两条命令:

      //将远程 git 仓库上最新的内容拉取到本地,将本地库所关联的远程库更新至最新
      git fetch --all
      //强制将本地库的内容指向最新远程仓库的master分支   
      git reset --hard origin/master  
    

最后附上该篇博客的地址:

从此,你就可以在多台电脑间愉快地同步更新博客啦~
若到一台新的电脑上,只要把博客源码 clone 下来,配置好新机器的 nodehexogit 环境,随时可以发车~

也欢迎到我的独立博客上查看更多的内容:最安全的 hexo 多电脑同步博客解决方案--非新建分支

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,635评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,628评论 3 396
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,971评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,986评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,006评论 6 394
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,784评论 1 307
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,475评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,364评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,860评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,008评论 3 338
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,152评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,829评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,490评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,035评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,156评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,428评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,127评论 2 356

推荐阅读更多精彩内容