个人博客: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博客换了电脑应该提前做的准备。的更多相关文章

  1. hexo 博客如何更换电脑

    如何在更换电脑后继续使用Hexo部署博客 重要目录 _config.yml package.json scaffolds/ source/ themes/ 在新电脑上配置hexo环境:安装node.j ...

  2. 从wordpress换hexo博客后

    之前用wordpress做blog, 为什么换为hexo呢? 第一 ​ wordpress的文章都保存在服务器的数据库, 维护不是很直观. ​ 而hexo是自己编写markdown文章,本地一份,而b ...

  3. Hexo博客建设

    上次我教大家利用wordpress程序搭建个人网站,这次换个Hexo来搭建咱们的个人博客,那咱们开始吧!先提供官网给大家英文版的请点击这里,中文版的请点击这里,好了然后是工具要准备下,貌似就只要安装g ...

  4. Hexo博客搭建以及Next主题美化的经验之谈

    这并不是一篇博客搭建教程.内容主要包含个人对于Hexo博客搭建的心得,Next6.0主题美化的部分建议,以及摘录一些各种用于博客搭建的link. 在博客园3年6个月,确实也学到了很多,博客园也是目前为 ...

  5. 迈出第一步,Hexo博客搭建

    很早之前看到别人的博客就总想着自己之后也要搭一个,最近突然来了干劲,就开始搭起了博客.不过搭博客还真是一个累活,失败了不下十次,用了好几天的时间,感觉自己在浪费时间,但是看到现在博客终于能用了,非常开 ...

  6. 如何搭建github+hexo博客-转

    1.前言 其实早在这之前我就一直想过写博客,但由于种种原因一直没有去学习这方面的知识,最近半个月(从开始动手到搭建好)一直陆陆续续的在着手这方面的工作.从开始到搭建完成的过程中遇到了很多困难,因为在这 ...

  7. hexo博客相关

    https://www.cnblogs.com/sulishibaobei/p/6428241.html 利用hexo+github+nodejs搭建自我博客的一天 http://www.sulish ...

  8. 利用Travis IC实现Hexo博客自动化部署

    1.Hexo博客的利与弊 Hexo中文 我就默认为看到这篇文章的人都比较了解Hexo博客,也都能够成功手动部署吧.所以第一部分推荐两篇文章一笔带过,让我们快速进入本文的重点内容.实在不知道也不要方先看 ...

  9. Hexo博客部署

    前些天使用wordpress程序搭建了个人网站,但感觉太重比较适合个人空间,所以这次介绍Hexo搭建免费博客,先提供官网给大家英文版的请点击这里,中文版的请点击这里,在安装一个Git,再是github ...

随机推荐

  1. MySQl 截取函数 left(),right(),substring(),substring_index() 的用法

    1. 字符串截取:left(str, length) mysql> select left('sqlstudy.com', 3); +-------------------------+ | l ...

  2. Data URL scheme 笔记

    0x01起因 今天做CTF的时候,发现一堆数据,大概是这样的 data:image/jpg;base64,iVBORw0KGgoAAAANSUhEUgAAAIUAAACFCAYAAAB12js8AAA ...

  3. gradle打成jar包报错 "错误: 找不到或无法加载主类 App"(已经配置过主类)

    文章目录 将gradle打成jar包(包括依赖) 运行jar包 报错 原因(src自己手动创建的) 解决(添加src目录) 将gradle打成jar包(包括依赖) jar { manifest { a ...

  4. Java 实例 - 状态监测

    以下实例演示了如何通过继承 Thread 类并使用 currentThread.getName() 方法来监测线程的状态: Main.java 文件 1 2 3 4 5 6 7 8 9 10 11 1 ...

  5. 推荐几个顶级的IT技术公众号,坐稳了!

    提升自我的路很多,学习是其中最为捷径的一条.丰富的知识提升的不仅仅是你的阅历,更能彰显你的气质,正如古人云:"文质彬彬是君子." 今天为大家整理了10个公众号,分别为多领域,多角度 ...

  6. javascript中var同时声明多个变量时的原理是什么?

    <script> function show(){ var a=b=c=d=5; } show(); alert(a);//弹a时报错(not defined),而b.c.d都能弹出5 & ...

  7. python tkinter 实现 带界面(GUI)的RSA加密、签名

    代码环境,python3.5.2 RSA加密的过程是:使用公钥加密,私钥解密 RSA签名的过程是:使用私钥签名,公钥验证 所以核心代码就是,生成公钥私钥,使用公钥私钥分别进行加密解密. 在实际编码的时 ...

  8. 使用Condition实现顺序执行

    参考<Java多线程编程核心技术> 使用Condition对象可以对线程执行的业务进行排序规划 具体实现代码 public class Run2 { private static Reen ...

  9. android html布局界面

  10. 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 ...