一不小心换了电脑,一不小心忘记了还有我的blog。使用了Hexo+github搭建的blog怎么使用git来同步文件呢?

1.思路

Hexo框架使用hexo d命令上传部署到github的其实是hexo编译后的静态网站,不包含源文件(看blog仓库应该就会发现)。而上传的这些文件都在deploy_git里面。其他所有文件,都没有上传到github

这是我们可以利用git的分支管理,将源文件上传到github的另一分支,用这个分支来专门保存文件。

2.源文件上传操作

blog仓库创建一个分支,专门用来存储hexo的一些文件。在换电脑的时候,只需要clone这些文件就可以愉快的写文章啦

2.1.建立分支

  1. 在下面的搜索框里直接输入想要创建的分支名称即可创建一个分支。

image-20210312230529040

  1. 之后将创建的分支设置为默认分支,这样每次同步的时候就不用指定分支,比较方便。

    image-20210312230839585

2.2.上传文件到分支

  1. 在本地的任意目录下,打开git bash输入下面命令,将这个分支克隆到本地,应为已经设置了hexo为默认的分支,所以不指定分支的情况下,就会clone hexo分支的内容。

    1
    git clone git@github.com:small-brilliant/small-brilliant.github.io.git
  2. clone好后将.git文件之外的所有文件全部删除,再执行下面命令。不出意外,git仓库的hexo分支所有文件都删除了。

    1
    2
    3
    git add -A
    git commit -m "some description"
    git push
  1. 接下来就要上传我们的源文件了。将我们之前写博客的文件夹里面的所有文件复制过来,除了.deploy_git如果你有自定义的主题的话,一定要删除主题文件中的.git文件夹,因为git不能嵌套上传。然后在这个文件夹打开git bash。输入下面命令,就上传了。

    1
    2
    3
    git add .
    git commit –m "add branch"
    git push

    image-20210312232435711

结束!

3.下载以及环境部署

在另一台电脑上,如下操作

1.安装gitnode.js

设置git全局邮箱和用户名

1
2
git config --global user.name "yourgithubname"
git config --global user.email "yourgithubemail"

2.设置ssh key

  1. 输入下面命令,会在C:\Users\hui\.ssh生成公钥和私钥。

    1
    ssh-keygen -t rsa -C "youremail"
  2. 将公钥id_rsa.pub打开复制里面的内容粘贴到下面图所示的key文本框中

    屏幕截图 2021-03-12 233244

    image-20210312233201949

验证是否成功

1
ssh -T git@github.com

3.安装hexo但是不需要初始化。

1
npm install hexo-cli -g

4.然后进入克隆到的文件夹。安装环境

1
2
npm install
npm install hexo-deployer-git --save

5.验证

1
2
hexo g
hexo s

然后就可以开始写你的新博客了。每次写完都要把源文件上传一下。保持同步

1
2
3
git add .
git commit –m "xxxx"
git push

如果是在已经编辑过的电脑上,已经有clone文件夹了,那么,每次只要和远端同步一下就行了。

1
git pull

6.部署博客

1
2
3
4
hexo clean   # 清除缓存文件等,如果部署后没有反应,可以使用此命令
#以后每次发布文章都是这两条命令。
hexo g # 生成页面
hexo d # 部署发布

参考

https://www.zhihu.com/question/21193762

https://www.jianshu.com/p/fceaf373d797