使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)
参考资料:
使用hexo,如果换了电脑怎么更新博客?
https://www.zhihu.com/question/21193762
其中,最多赞回答(转至其博文):
http://crazymilk.github.io/2015/12/28/GitHub-Pages-Hexo搭建博客/#more
Q:如何本地直接删除文件后,git到远程仓库,远程仓库也删除了对应文件?
A1:“git到远程仓库”是指什么?一般你在本地删除了文件,之后commit,再push到远程,对应的文件肯定就删掉了。
A2:例如删除github上的 .DS_Dtore 文件的执行操作,进入到对应目录,在终端中执行以下操作
git rm --cached filename
git commit -m “hehe”
git push origin
执行完毕,刷新一遍github,你会发现此时想要删除的文件已经消失了。
1、在需要创建 .gitignore 文件的文件夹, 右键选择Git Bash 进入命令行,进入项目所在目录。
2、输入 touch .gitignore ,生成“.gitignore”文件。
3、在”.gitignore” 文件里输入你要忽略的文件夹及其文件就可以了。(注意格式)
我的 .gitignore:
.deploy_git/
node_modules/
public/
某知乎回答,其.gitignore文件:
db.json
debug.log
node_modules/
public/
.deploy_git/
参考用:
我在新建一个文件夹 hexo init 后出现了一个.gitignoren文件,文件内容为:
.DS_Store
Thumbs.db
db.json
.log
node_modules/
public/
.deploy/
我的备份方式
在github上新建一个GitHub Page:strivebo.github.io,正如知乎上的回答,在这个仓库下,另外新增加一个hexo分支,并且设置该分支为主分支。
这样,master用来上传hexo搭建的博客编译好的博客,hexo分支用来备份源文件,包括theme、.md等文件。
完整操作如下:(摘自知乎回答)
- 创建仓库,strivebo.github.io;
- 创建两个分支:master 与 hexo;
- 设置hexo为默认分支(因为我们只需要手动管理这个分支上的Hexo网站文件);
- 使用git clone git@github.com:strivebo/strivebo.github.io.git拷贝仓库;
- 在本地strivebo.github.io文件夹下通过Git bash依次执行npm install hexo、hexo init、npm install 和 npm install hexo-deployer-git(此时当前分支应显示为hexo);
- 修改_config.yml中的deploy参数,分支应为master;
- 依次执行git add .、git commit -m “…”、git push origin hexo提交网站相关的文件;
- 执行hexo generate -d生成网站并部署到GitHub上。
个人已出此坑:第 5 步中特别要注意,hexo init会清空.git 文件夹(即版本控制信息会丢失)
所以我的做法是:
第 4 步完成后,先拷贝出.git文件夹,等第 5 步完成后,再粘贴.git文件进去。
此外,如何出现提示 no ** develop 什么的,不太记得,需要使用 npm install hexo-deployer-git --save
日常修改
在本地对博客进行修改(添加新博文、修改样式等等)后,通过下面的流程进行管理:
依次执行git add .、git commit -m “…”、git push origin hexo指令将改动推送到GitHub(此时当前分支应为hexo);
然后才执行hexo generate -d发布网站到master分支上。
虽然两个过程顺序调转一般不会有问题,不过逻辑上这样的顺序是绝对没问题的(例如突然死机要重装了,悲催….的情况,调转顺序就有问题了)。本地资料丢失
当重装电脑之后,或者想在其他电脑上修改博客,可以使用下列步骤:
使用git clone git@github.com:strivebo/strivebo.github.io.git拷贝仓库(默认分支为hexo);
在本地新拷贝的strivebo.github.io文件夹下通过Git bash依次执行下列指令:npm install hexo、npm install、npm install hexo-deployer-git(记得,不需要hexo init这条指令)。
另外:
我还会新建一个仓库,如 hexo-blog ,专门用来备份本地 .md 等源文件,这些博客文件丢失最难受了。因为上面用的分支方式,最后是多次尝试我是成功了,但是在成功之前我失败了好多次,然后导致删了仓库重新再来,所以我对分支方式还是不太保险,对每一步操作和涉及的文件的含义还未完全明白。所以干脆另建一个仓库再次备份吧,步骤如下:
- github上新建 hexo-blog 仓库
- 电脑上打开 Git Bash,输入 git clone 仓库地址 ,克隆下仓库至本地计算机
- 然后需要的备份的文件全都拷贝到刚刚克隆下来的 hexo-blog 仓库内,然后进行 git add . 、git commit -m “” 、git push origin master 上传至远程仓库hexo-blog上。
注:当然也可以拷贝所有文件包括 public、.deploy_git 文件夹至刚刚克隆下来的仓库hexo-blog中,但是记得新增一个 .gitignore文件,内容参照文章最上面的有关回答。其作用大概是上传github远程仓库时,忽略其中指定的文件及文件夹。
使用Hexo搭建博客,备份至GitHub过程(基于网上资料的实践操作)相关推荐
- hexo博客本地服务器显示正常,Hexo 搭建博客 本地运行 常见报错及解决办法
作为一名在hexo方面的新手,我在使用hexo编辑文档时遇到了很多问题,hexo generate编译的时候遇到了各种错误. 在此将这些错误及其解决方案记录下来,以便日后查证之用,同时,也可给各位在遇 ...
- 手把手教从零开始在GitHub上使用Hexo搭建博客教程(二)-Hexo参数设置
前言 前文手把手教从零开始在GitHub上使用Hexo搭建博客教程(一)-附GitHub注册及配置介绍了github注册.git相关设置以及hexo基本操作. 本文主要介绍一下hexo的常用参数设置. ...
- 使用Hexo搭建博客并部署到Github
一.博客环境搭建 Hexo 是一个静态博客框架,基于 Node.js,将 Markdown 文章通过渲染引擎,生成一个静态网页,再结合 Git 命令(ssh),Hexo 是一个快速.简洁且高效的博 ...
- 用Github Pages+Hexo搭建博客之(八)Hexo博客Next主题添加统计文章阅读量(访问量/浏览量/阅读次数)功能
[置顶][专栏]用Github Pages+Hexo搭建博客 文章目录 [置顶][专栏][用Github Pages+Hexo搭建博客](https://blog.csdn.net/qq_342439 ...
- hexo搭建博客教程(matery主题)
hexo搭建博客教程(matery主题) 写在前面 这篇教程是我搭建个人博客的路程经历和经验总结,matery主题挺多人用,网上也有各种详细教程,没时间我就不出详细教程了,这里给出其他大佬的教程链接, ...
- hexo搭建博客的几种方式(入门级)
hexo搭建博客的几种方式(入门级) 概述 网站介绍 html css js hexo node.js git hexo安装 安装node.js 安装Git 安装hexo 初始化hexo 网站部署 免 ...
- 建站规划—基于私有化gitlab/node+hexo搭建博客网站
目录 概述 建站方案及成本 建站方案 成本 低成本替代方案 概述 本合辑(建站合辑)将介绍如何基于私有化gitlab+pages+Hexo搭建博客网站,由于域名备案周期较长,因此更新可能较慢.根据功能 ...
- Hexo搭建博客教程-基于Butterfly主题
title: Hexo搭建博客教程 tags: Hexo 博客教程 categories: Hexo keywords: 'Hexo,博客教程' description: Hexo搭建博客,以及主题b ...
- 详解Hexo搭建博客的底层原理
文章目录 前言 Github page Hexo 工作原理 每次部署的流程 模板引擎--Hexo怎样生成HTML 数据填充 配置文件中的数据 配置文件中数据的使用 总结 前言 在2021年初对照着攻略 ...
最新文章
- 《javascript模式》 容易踩中的那些坑
- java简单通讯录的实现02person类_Java自定义类加载器实现不同版本的类加载
- Android 自动向上滚动,android – Recyclerview在插入数据时自动向上滚动
- fedora docker_如何在Fedora中授予用户使用Docker的权限
- 加号和减号在一起怎么读_在家摄影怎么玩?拍摄小黄米场景搭建,摄影软件和修图软件介绍...
- ajax上传图片的本质
- (进阶)LeetCode(119)——杨辉三角 II(JavaScript)
- Hyper-V故障转移群集搭建(1)
- 2019工作榜单 | Python程序员吸金榜,AI排第一,这个我服!
- Visual Basic 2012 借助DataGridView控件将Excel 2010数据导入到SQL server 2012
- 学习笔记1/5,操作系统之操作系统概念
- 物联网、大数据、云计算、人工智能之间的关系
- C语言使用 gzip 算法压缩数据
- python 人民币数字转汉字大写金额
- day04-硅谷课堂-前端基础知识(二)
- html5 端午节 龙舟,端午节看龙舟作文(精选5篇)
- fatal: Could not set SSL backend to ‘schannel‘:already set
- ubuntu 安装zoom
- 学校的校园景点平面图(校园景点迷你地图C++数据结构)(查询图中顶点间的最短路径查询图中任意两个顶点间的所有路径)
- 实施工程师的必要条件