为了避免hexo博客换了电脑应该提前做的准备。
个人博客:https://mmmmmm.me
源码:https://github.com/dataiyangu/dataiyangu.github.io
本文转自:https://www.jianshu.com/p/57b5a384f234
换了电脑怎么办?
重现在新电脑
从我们的github上下载下来,或者将文件夹拷贝过来,然后做以下操作:
https://www.cnblogs.com/study-everyday/p/8902136.html
重现在新电脑之前,将本地的文件push到github,做备份。
也可以参考下这篇文章:https://blog.csdn.net/wxl1555/article/details/79293159
使用Hexo在github搭建的博客,博客作为一个单独的GitHub仓库存在,但是这个仓库只有生成的静态网页文件,并没有Hexo的源文件,如果要换电脑或者重装系统后,就比较麻烦了,这里推荐一种方法。
备份
创建仓库WincerChan.github.io,如果同名仓库之前已经创建,请将之前的仓库改名,新建的仓库必须是Username.github.io;
创建两个分支:master和hexo;
设置hexo为默认分支;
将刚刚创建的新仓库clone至本地,将之前的hexo文件夹中的_config.yml,themes/,source/,scaffolds/,package.json,.gitignore复制至WincerChan.github.io文件夹;
将themes/next/(我用的是NexT主题)中的.git/删除,否则无法将主题文件夹push;
在WincerChan.github.io文件夹执行npm install和npm install hexo-deployer-git(这里可以看一看分支是不是显示为hexo);
执行git add .、git commit -m “”、git push origin hexo来提交hexo网站源文件;
执行hexo g -d生成静态网页部署至Github上。
这样一来,WincerChan.github.io仓库就有master分支和hexo分支,分别保存静态网页和源文件。
修改
在本地对博客修改(包括修改主题样式、发布新文章等)后:
依次执行git add .、git commit -m “”、git push origin hexo来提交hexo网站源文件;
执行hexo g -d生成静态网页部署至Github上。
即重复备份的7-8步骤,以上两部没有严格的顺序。
恢复
重装电脑后,或者在其它电脑上想修改博客:
安装git;
安装Nodejs和npm;
使用git clone git@github.com:WincerChan/WincerChan.github.io.git将仓库拷贝至本地;
在文件夹内执行以下命令npm install hexo-cli -g、npm install、npm install hexo-deployer-git。
附录
这里稍作说明:
添加ssh-keys
在终端下运行:ssh-keygen -t rsa -C "yourname@email.com",一路回车;
会在.ssh目录生成id_rsa、id_rsa.pub两个文件,这就是密钥对,id_rsa是私钥,千万不能泄漏出去;
登录Github,打开「Settings」–>「SSH and GPG keys」,然后点击「new SSH key」,填上任意Title,在Key文本框里粘贴公钥id_rsa.pub文件的内容,注意不要粘贴成id_rsa,最后点击「Add SSH Key」。
hexo的源文件
这里说一下步骤4为什么只需要拷贝6个,而不需要全部:
_config.yml站点的配置文件,需要拷贝;
themes/主题文件夹,需要拷贝;
source博客文章的.md文件,需要拷贝;
scaffolds/文章的模板,需要拷贝;
package.json安装包的名称,需要拷贝;
.gitignore限定在push时哪些文件可以忽略,需要拷贝;
.git/主题和站点都有,标志这是一个git项目,不需要拷贝;
node_modules/是安装包的目录,在执行npm install的时候会重新生成,不需要拷贝;
public是hexo g生成的静态网页,不需要拷贝;
.deploy_git同上,hexo g也会生成,不需要拷贝;
db.json文件,不需要拷贝。
其实不需要拷贝的文件正是.gitignore中所忽略的。
注意
里面应该有一个叫.gitignore的文件,如果没有就输入 touch .gitignore,创建一个
.gitignore文件里应该是这些内容
.DS_Store
Thumbs.db
db.json
.log
node_modules/
public/
.deploy/
为了避免hexo博客换了电脑应该提前做的准备。的更多相关文章
- hexo 博客如何更换电脑
如何在更换电脑后继续使用Hexo部署博客 重要目录 _config.yml package.json scaffolds/ source/ themes/ 在新电脑上配置hexo环境:安装node.j ...
- 从wordpress换hexo博客后
之前用wordpress做blog, 为什么换为hexo呢? 第一 wordpress的文章都保存在服务器的数据库, 维护不是很直观. 而hexo是自己编写markdown文章,本地一份,而b ...
- Hexo博客建设
上次我教大家利用wordpress程序搭建个人网站,这次换个Hexo来搭建咱们的个人博客,那咱们开始吧!先提供官网给大家英文版的请点击这里,中文版的请点击这里,好了然后是工具要准备下,貌似就只要安装g ...
- Hexo博客搭建以及Next主题美化的经验之谈
这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...
- 迈出第一步,Hexo博客搭建
很早之前看到别人的博客就总想着自己之后也要搭一个,最近突然来了干劲,就开始搭起了博客.不过搭博客还真是一个累活,失败了不下十次,用了好几天的时间,感觉自己在浪费时间,但是看到现在博客终于能用了,非常开 ...
- 如何搭建github+hexo博客-转
1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...
- hexo博客相关
https://www.cnblogs.com/sulishibaobei/p/6428241.html 利用hexo+github+nodejs搭建自我博客的一天 http://www.sulish ...
- 利用Travis IC实现Hexo博客自动化部署
1.Hexo博客的利与弊 Hexo中文 我就默认为看到这篇文章的人都比较了解Hexo博客,也都能够成功手动部署吧.所以第一部分推荐两篇文章一笔带过,让我们快速进入本文的重点内容.实在不知道也不要方先看 ...
- Hexo博客部署
前些天使用wordpress程序搭建了个人网站,但感觉太重比较适合个人空间,所以这次介绍Hexo搭建免费博客,先提供官网给大家英文版的请点击这里,中文版的请点击这里,在安装一个Git,再是github ...
随机推荐
- MySQl 截取函数 left(),right(),substring(),substring_index() 的用法
1. 字符串截取:left(str, length) mysql> select left('sqlstudy.com', 3); +-------------------------+ | l ...
- Data URL scheme 笔记
0x01起因 今天做CTF的时候,发现一堆数据,大概是这样的 data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAACFCAYAAAB12js8AAA ...
- gradle打成jar包报错 "错误: 找不到或无法加载主类 App"(已经配置过主类)
文章目录 将gradle打成jar包(包括依赖) 运行jar包 报错 原因(src自己手动创建的) 解决(添加src目录) 将gradle打成jar包(包括依赖) jar { manifest { a ...
- Java 实例 - 状态监测
以下实例演示了如何通过继承 Thread 类并使用 currentThread.getName() 方法来监测线程的状态: Main.java 文件 1 2 3 4 5 6 7 8 9 10 11 1 ...
- 推荐几个顶级的IT技术公众号,坐稳了!
提升自我的路很多,学习是其中最为捷径的一条.丰富的知识提升的不仅仅是你的阅历,更能彰显你的气质,正如古人云:"文质彬彬是君子." 今天为大家整理了10个公众号,分别为多领域,多角度 ...
- javascript中var同时声明多个变量时的原理是什么?
<script> function show(){ var a=b=c=d=5; } show(); alert(a);//弹a时报错(not defined),而b.c.d都能弹出5 & ...
- python tkinter 实现 带界面(GUI)的RSA加密、签名
代码环境,python3.5.2 RSA加密的过程是:使用公钥加密,私钥解密 RSA签名的过程是:使用私钥签名,公钥验证 所以核心代码就是,生成公钥私钥,使用公钥私钥分别进行加密解密. 在实际编码的时 ...
- 使用Condition实现顺序执行
参考<Java多线程编程核心技术> 使用Condition对象可以对线程执行的业务进行排序规划 具体实现代码 public class Run2 { private static Reen ...
- android html布局界面
- MyEclipse中android 项目如何解决第三方jar无法关联源码的问题( The JAR of this class file belongs to container 'Android Private Libraries' which does not allow modifications to source attachments on its entries.)
若我们要为第三方jar(android-support-v4.jar)关联源码通常的做法是 右键项目 单击菜单Properties 单击菜单 Java Build Path 单击 Libraries ...