Weiguo's Station

  • 博客首页

  • 文章归档

  • 分类专栏

  • 各种标签

  • 站点搜索

hexo博客同步管理及迁移

发表于 2018-11-28 更新于 2021-03-22 分类于 小工具

转自:使用hexo,如果换了电脑怎么更新博客? - 容与的回答 - 知乎

其他hexo自定义教程: 打造个性超赞博客 Hexo + NexT + GitHub Pages 的超深度优化

背景:一台电脑上已有一个在用的博客,又新用了一台电脑,实现原电脑和新电脑都可以提交更新博客,实现同步或者说博客的版本管理。

原电脑操作

  • 在原电脑上操作,给 username.github.io 博客仓库创建 hexo 分支,并设为默认分支。

在Github的username.github.io仓库上新建一个hexo分支,并切换到该分支;

1

并在该仓库->Settings->Branches->Default branch中将默认分支设为hexo,update更新保存;

2

  • 如果未给你的 github 账号添加过当前电脑生成的 ssh key,需要创建 ssh key 并添加到 github 账号上。

(如何创建和添加参考 github help )

  • 随便一个目录下,命令行执行 git clone git@github.com:username/username.github.io.git 把仓库 clone 到本地。

在username.github.io目录使用Git Bash执行git branch命令查看当前所在分支,应为新建的分支hexo

3

  • 显示所有隐藏文件和文件夹,进入刚才 clone 到本地的仓库,删掉除了 .git 文件夹以外的所有内容。

  • 命令行 cd 到 clone 的仓库(username.github.io)执行下列命令

1
2
3
git add -A
git commit -m "--"
git push origin hexo

把刚才删除操作引起的本地仓库变化更新到远程,此时刷新下 github 端博客hexo分支,应该已经被清空了。

  • 将上述 .git 文件夹复制到本机本地博客根目录下(即含有 themes、source 等文件夹的那个目录),现在可以把上述 clone 的本地username.github.io目录删掉了,本机博客目录已经变成可以和 hexo 分支相连的仓库了。

  • 将博客目录下 themes 文件夹下每个主题文件夹里面的 .git目录和 .gitignore文件删掉。

  • 命令行 cd 到博客目录,执行下列命令

1
2
3
git add -A
git commit -m "--"
git push origin hexo

将博客目录下所有文件更新到 hexo 分支。如果上一步没有删掉 .git目录和 .gitignore文件,主题文件夹下内容将传不上去。

  • 至此原电脑上的操作结束。

新电脑操作

  • 先把环境安装好
  1. node.js
  2. git
  3. hexo
  4. ssh key 也创建看这里和添加看这里好。
  • 创建添加ssh

    • 命令行进入用户主目录,比如在我的电脑下:c:\users\administrator。
    • 命令行运行ssh-keygen -t rsa -C "username@example.com"。它会提示你输入邮箱,输入完成以后一路回车就行。完成这一步,找到该目录下的.ssh文件夹,里面多了两个文件:id_rsa和id_rsa.pub分别是你这台电脑的ssh key的私钥和公钥。用文本打开公钥文件,复制里面的所有内容备用。
    • 登录github后,进入 settings -> SSH and GPG keys。点击 New SSH key ,然后title随便填,比如可以是你的电脑名称,把刚才复制的公钥内容黏贴到key中,最后点击 Add SHH key 就完成了
  • 选好博客安装的目录,clone仓库。

1
git clone git@github.com:username/username.github.io.git
  • cd 到博客目录,执行下列命令
1
2
npm install
hexo g && hexo s

安装依赖,生成和启动博客服务。

  • 正常的话,浏览器打开 localhost:4000 可以看到博客了。
  • 至此新电脑操作完毕。

更新源文件、部署静态文件

以后无论在哪台电脑上,更新以及提交博客,依次执行。

1
2
3
4
git add -A
git commit -m "--"
git push origin hexo
hexo clean && hexo g -d

即可备份源文件到hexo分支,部署静态文件到master分支。

推荐系统HandBook Chapter3 基于内容的推荐系统-前沿和趋势
pig基础
  • 文章目录
  • 站点概览
WeiguoZHAO

WeiguoZHAO

Welcome to my blog~
87 日志
13 分类
49 标签
GitHub E-Mail
大牛们
  • colah's blog
  • 王喆的Github
  • 刘建平的Github
  • 美团技术团队
  1. 原电脑操作
  2. 新电脑操作
  3. 更新源文件、部署静态文件
© 2021 WeiguoZHAO
0%