原理介绍

类似于版本管理,我们把我们的hexo博客文件系统在Github上建立一个分支,通过管理分支提交最新的博客文件系统,保证我们博客框架的更新。然后我们基于最新的博客框架,撰写文章,进行Github Pages网页的更新,即我们博客内容的更新。

创建两个分支,一个用于存放博客静态资源,一个用于备份博客的部署文件。

参考资料

前期准备

  1. 一台Linux系统的电脑(我的linux系统是Ubuntu 18.04.2 LTS)
  2. 安装node.jsnpm
  3. 安装 ssh
  4. 安装 git
  5. 按照我们前面教程搭建好的博客

创建Github 博客仓库分支

首先在我们搭建Hexo博客的电脑上,创建我们博客仓库在Github上的分支。

  1. 打开我们的博客仓库,选择setting

  1. 选择Branches,创建博客仓库的Hexo分支,并将其设置为默认分支。

  1. 将该仓库克融到本地,并把本地博客的(所有Hexo目录下文件)全部拷贝进username.github.io文件目录中去。

  1. 然后把更新后的博客部署文件提交到Github的hexo分支中。

依次执行

git add .
git commit -m 'some info'
git push

注意事项

  • 将themes目录以内中的主题的.git目录删除(如果有),因为一个git仓库中不能包含另一个git仓库,提交主题文件夹会失败。
  1. 然后我们的博客备份分支就创建好了。

Linux 部署项目

  1. 安装Node.js 与 npm

  2. 安装git

  3. linux与Github建立联系

  4. 把我们创建好的博客备份仓库clone到本机(linux)

4.1 在要保存的位置执行语句 git clone git@github.com:your.github.io/your.github.io.git

4.2 进入username.github.io目录,执行npm install (由于仓库有一个.gitignore文件,里面默认是忽略掉 node_modules文件夹的,也就是说仓库的hexo分支并没有存储该目录,所以要安装依赖)

  1. 安装hexo插件

sudo npm install hexo-cli -g

  1. 撰写我们的博客文章,然后依次执行下面指令,更新我们的博客备份。
hexo clean
hexo g
git add .
git commit -m 'some info'
git push
  1. 更新博客界面

hexo d

注意事项

1. 每当撰写博客前,先 git pull,获取最新的博客备份。

2. 写完博客后,先依次执行hexo clean 、 hexo g 、 git add. 、 git commit -m 'some info 、 git push'进行博客备份部署文件更新。

3. 最后执行 hexo d部署博客界面,实现博客更新。

在Linux系统中同步更新我们的Github博客的更多相关文章

  1. 用户管理 之 在Linux系统中,批量添加用户的操作流程

    一.阅读此文件您需要掌握的基础知识: <Linux 用户(user)和用户组(group)管理概述><用户(user)和用户组(group)配置文件详解><Linux 用 ...

  2. LINUX系统中动态链接库的创建与使用

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

  3. LINUX系统中动态链接库的创建与使用{补充}

    大家都知道,在WINDOWS系统中有很多的动态链接库(以.DLL为后缀的文件,DLL即Dynamic Link Library).这种动态链接库,和静态函数库不同,它里面的函数并不是执行程序本身的一部 ...

  4. Linux系统中常用操作命令

    常用指令 ls        显示文件或目录     -l          列出文件详细信息l(list)     -a         列出当前目录下所有文件及目录,包括隐藏的a(all)mkdi ...

  5. Linux系统中的tar命令

    时间一长什么东西都容易忘记,尤其是一些不常用的东西忘记的更快,所以避免忘记,就记录下来,可以方面使用的时候查询.Tar命令在linux系统中算是一个比较重要的命令,今天就针对该命令进行总结一下. 1. ...

  6. Linux系统中文件定位与查找

    Linux系统中文件查找 关键词 文件查找 | find | locate 本文主要介绍有关文件查找的两个命令——find和locate,以及压缩打包的命令——compress, gzip,bzip2 ...

  7. find查找文件命令 - Linux系统中的常用技巧整理

    “find”在Linux系统中是比较常用的文件查找命令,使用方法有很多,可以拥有查找文件.文件目录.文件更新时间.文件大小.文件权限及对比文件时间.下面是整理的“find”常用方法,方便以后需要的时候 ...

  8. 详解Linux系统中的文件名和文件种类以及文件权限

    Linux文件种类与副文件名 一直强调一个概念,那就是:任何装置在Linux底下都是文件, 不仅如此,连资料沟通的介面也有专属的文件在负责-所以,你会瞭解到,Linux的文件种类真的很多- 除了前面提 ...

  9. 【OS_Linux】Linux系统中目录及文件管理

    1.Linux系统中目录的树状结构 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等),常用命令一般都在这里. /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录, ...

随机推荐

  1. 8.Django缓存和信号

    缓存 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存,缓存将某个views的返回值保存至内存或者memcache中, ...

  2. 网络协议 7 - UDP 协议:性善碰到城会玩

        网络协议五步登天路,我们一路迈过了物理层.链路层,今天终于到了传输层.从这一层开始,很多知识应该都是服务端开发必备的知识了,今天我们就一起来梳理下.     其实,讲到 UDP,就少不了 TC ...

  3. 【转】关于 python ImportError: No module named 的问题

    今天在 centos 下安装 python setup.py install 时报错:ImportError: No module named sysconfig, 当时急着用,就顺手直接源码编译了一 ...

  4. .net core使用EasyNetQ做EventBus

    随着SOA.微服务.CQRS的盛行,EventBus越来越流行,上GitHub搜了一下,还是有蛮多的这类实现,老牌的有NServiceBus(收费).MassTransit,最近的有CAP(国人写的, ...

  5. Config安全控制

    1.config server引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <a ...

  6. Spring基础系列-参数校验

    原创作品,可以转载,但是请标注出处地址:https://www.cnblogs.com/V1haoge/p/9953744.html Spring中使用参数校验 概述 ​ JSR 303中提出了Bea ...

  7. mac用pecl安装swoole可能出现的报错及解决办法

    一.用pecl安装swoole 2018年4月,由于homebrew的变动,导致无法使用brew install的方式安装php的扩展,现在改为用pecl安装,pecl安装swoole的方法为: pe ...

  8. 产品炼成记·hostingranking.cn·基于ghost的轻量技术架构整理

    本篇纯粹只讲hostingranking.cn网站的技术架构,也就是怎么做到的,达到什么效果.至于它是什么,为什么要做暂且不说,另篇会分享. 技术组成 首先hostingranking.cn是基于gh ...

  9. 解读经典《C#高级编程》第七版 Page100-107.继承.Chapter4

    前言 本章节继续讲实现继承. 实现继承 密封类和密封方法 密封类和方法的概念很简单,就是为了不允许类和方法被继承和扩展.不允许扩展一般的原因有: 如果类或者方法被扩展,可能会导致类库执行错误 因为版权 ...

  10. 再探go modules:使用与细节

    还有半个月go1.12就要发布了.这是首个将go modules纳入正式支持的稳定版本. 距离go modules随着go1.11正式面向广大开发者进行体验也已经过去了半年,这段时间go module ...