学习
实践
活动
工具
TVP
写文章
专栏首页Coding+如何多端同步 Hexo 框架博客

如何多端同步 Hexo 框架博客

多地同步的必要性

这个必要性其实不用多说,用着用着你就自己能体会到,比如头天晚上在家里发布了一篇技术文章,第二天在公司 Coding 的过程中突然想到之前发的文某个地方有 Bug ,这时如果你的博客只搭在家里那台 PC 上的话就只能等到下班回家去改,或者在 Coding 时突然灵感迸发写出了连自己都佩服的神码想要急于分享出去时,就只能蛋疼的憋着回家写了,嗯,这可能就是最需要多地同步的场景了。

使用 U 盘

使用 Git

嗯,这才是正确的操作姿势。 我的博客用的 Hexo 搭建的,所以接下来以此演示,其他使用 jekyll 或 wordpress 等框架搭建的博客同理可参考。

本地初始化一个 git 库存放整个站点

比如我的 Blog 就放在D:\Pages\repos\Hexo-Blog库下。

image.png

然后blog目录就是整个站点的根目录了,其实我们发布出去的站点就是public/目录而已,其它的东西都是用来生成这个目录的必要文件。

image.png

处理多层 git 库嵌套的问题

由于站点主题是从 github 直接 pull 下来的,所以blog/themes/your-theme/应该也是一个 git 库,git 库不支持多层嵌套,但好像有个子 git 库的概念但是处理起来较麻烦,所以这里我的解决方式很简单粗暴 ———— 直接删除blog/themes/your-theme/库下的.git目录让它变成一个普通目录,这样就有一个不能直接同步更新主题的问题,但我感觉这并不是一个问题,因为主题的更新周期很长,非重大 Bug 或功能一般不会更新,而且主题和文章并不强关联,所以实在需要更新主题的新版本时可以先 pull 到别的目录然后 copy 过来。

关联到远程仓库

这里可能有同学感到懵逼,因为我在使用 Hexo & GitPage 搭建博客一文中为 Hexo 安装了 deploygit 插件用来部署文章,这个插件也是和 git 仓库关联的,这里再次关联一个远程仓库不就嵌套了吗?当然不会,因为这个插件是安装在本地的,可以直接使用 npm 安装,所以这个插件没必要提交到 git 仓库,因此默认生成的.gitignore文件就已经包含了.deploy*/以及其它一些可自动生成没必要提交的目录及文件。

blog/.gitignore file

.DS_Store
Thumbs.db
db.json
*.log
node_modules/
public/
.deploy*/
CNAME

远程仓库下的文件

image.png

Ok,到这里你可能已经明白了这个多地同步的思路:打比方说这个 Hexo 框架及 Node.js 环境是个印钞机,部署时它所生成的public/站点目录就是钞票,那么我们同时想在家里和公司印钞怎么解决?印钞机两边都一样,那就是把印钞的模板 fork 两份出来,只需保证两套模板的同步就能确保两边印出来的钞票都是真的了。所以上面的远程仓库就相当于包含了整个印钞模板,整体思路就是这么简单。

关键部分的操作

同步了两边的环境都一致并且都可以使用 hexo clean && hexo d 部署文章后,还需注意的就是每次文章发布完成后执行如下命令:

$ cd repos/Hexo-Blog/
$ git add .
$ git commit -m "commit msg."
$ git push origin master

每次开始写文章之前执行如下命令:

$ cd repos/Hexo-Blog/
$ git pull origin master

每天结束工作时都 commit 一下是个优秀的习惯。

“偷懒是人类进步的原动力”

每次动一行代码都要敲一堆命令来发布和同步?能不能一键搞定这些操作呢?当然可以,不要忘了 Windows 批处理,我们在 repos/Hexo-Blog/ 下创建三个 bat 脚本

blog-pub

cd /d D:/Pages/repos/Hexo-Blog/blog

hexo clean&&hexo d

pause

blog-pull

cd /d d:/Pages/repos/Hexo-Blog

git pull origin master

pause

blog-push

cd /d D:/Pages/repos/Hexo-blog

git add .
git commit -m "add post"
git push --all

pause

然后这些操作只需双击就能搞定了

既然做到这一步了,那么就能更进一步,我们可以给 Windows 设置一个定时任务,让它开机拉代码,下班前 push 代码,以防忘记

1、打开任务计划程序(taskschd.msc)

2、Alt+A+B 创建基本任务

setup1

setup2

setup3

setup4

setup5

setup6

经过如上设置,在每天的 17:25 Win任务计划程序就会自动执行提交代码的脚本了。

文中没具体提到怎么创建仓库,怎么关联仓库等等,这些都是 git 基础知识,需要的同学可以参考 Git 常用命令

本文参与 腾讯云自媒体分享计划 ,欢迎热爱写作的你一起参与!
本文分享自作者个人站点/博客:https://www.jianshu.com/u/32f1afa17c58复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • HEXO博客框架建设

    https://console.cloud.tencent.com/lighthouse/instance/index?action=DescribeInsta...

    Abalone
  • 说说 Hexo 静态博客框架

    今天给大家最近蛮火的 Hexo 静态博客框架,熟悉明月的都知道明月最近几天一直都在折腾研究 Hexo 静态博客框架的博客站——『明月登楼 Hexo 博客』(he...

    明月登楼的博客
  • 【10】Hexo博客的跨设备同步

    前几天使用hexo搭建了Github博客,今天在公司的电脑上想要同步Github博客到本地,遇到了点坑,查询了 一下网上的资料,现在记录一下,也算给遇到同样问题...

    代码咖啡
  • 语雀自动同步到hexo博客

    本文针对已经搭建好 hexo 博客的,如果没有搭好正常的 hexo 博客的可以去网上找一下,很方便

    yichen
  • hexo 博客利用 github 分支同步源文件

      hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们的...

    IMWeb前端团队
  • hexo 博客利用 github 分支同步源文件

    hexo 是一个优秀的静态博客工具,唯一的不足就是源文件无法同步,让人几乎只能在一台电脑上写博客,为了解决这个问题,我们可以使用 Github 来管理我们...

    IMWeb前端团队
  • 如何快速搭建 hexo 博客

    本文将简介如何自己的服务器、腾讯云COS及Github Page上部署hexo博客。

    脸滚键盘dj
  • Hexo博客的安装部署及多电脑同步

    Hexo安装教程很多,我这里尽可能的讲的细一些,把容易踩坑的地方以及后期多电脑同步所遇到的问题列出来,以便给自己及大家参考。本文主要讲解安装部署后源文件同步问题...

    Techeek
  • 新设备如何使用hexo博客

    我们知道,使用 Github+hexo 搭建一个个人博客确实需要花不少时间的,我们搭好博客后使用的挺好,但是换一个电脑如何维护我们的博客呢?我们怎么使用 hex...

    青衫染红尘
  • 使用 hexo 框架 快速搭建个人博客(一)

    下载成功之后进行nodejs的安装,选择安装路径之后(不建议装在C盘),一路next就可以了!!(由于我之前已经安装过了,这里就不再进行安装)安装成功之后在...

    木字楠
  • hexo博客中如何插入图片

    Hexo的博文是支持Markdown格式的,发表一篇文章只需要简简单单的几个命令。

    不作声
  • Hexo博客框架初识入门到进阶.md

    Q:什么是 Hexo? A:Hexo 是一个快速、简洁且高效的博客框架,Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题...

    WeiyiGeek
  • 【搭建Hexo博客(一)】初始化框架

    Hexo是一款快速、简洁且高效的博客框架,渲染速度快,支持Markdown,且支持各类型的Extensions,十分容易上手。

    pai233
  • 使用 hexo 框架 快速搭建个人博客(二)

    咱接上一篇文章来说,没有看过的小伙伴可以去看看使用 hexo 框架 快速搭建个人博客(一)

    木字楠
  • Hexo博客框架初识入门到进阶.md

    Q:什么是 Hexo? A:Hexo 是一个快速、简洁且高效的博客框架,Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题...

    WeiyiGeek
  • 电脑更换如何继续写hexo博客

    以上本地的操作完成后,你提交完代码就回家了,这个时候你到了家中(一些基础配置就不说了):

    六个周
  • 个人博客如何选择 Typecho 和 Hexo ?

    在 Typecho 和 Hexo 之间选择一个适合自己的博客平台(框架)首先的了解它们之间的区别,不同的博客平台(框架)部署、配置、运行方式可能都会有不小的差异...

    Xcnte
  • Hexo博客 | 如何在博客首页添加公告板模块

    例如,ayer主题的位于hexo\themes\ayer\layout\_partial\archive.ejs

    Justlovesmile
  • 基于nodejs的Hexo框架快速搭建静态博客

    我从很早以前开始就有搭建一个博客的想法,最早能够追溯到高中二年级。后来也陆陆续续尝试了搭建一群由静态页面组成的页面体系,后来发现这种页面体系有...

    EatRice

扫码关注腾讯云开发者

领取腾讯云代金券