博客搭建-03-本地博客与GitHub关联

为了能通过一个网址,访问自己的博客,需要有一个服务器接收访问请求,并返回博客内容。这里使用了 GitHub 来充当服务器的角色,由 GitHub 托管网站的内容,并接受访问请求。

1. 注册 GitHub 账号

官网链接:https://github.com/

2. 登录 GitHub,并创建一个新的仓库(Repository)

在此之前,可先通过各种途径了解一下 GitHub 的基础使用方法。

仓库的名字,设置为「用户名.http://github.io」;

3. 配置本地 hexo 里的文件 _config.yml

打开本地创建的博客文件里的 _config.yml 文件,可以使用记事本打开,

在结尾的 deploy 之后,编辑内容并保存(注意,每行第一个冒号后面需要有一个空格):

1
2
3
4
5
6
7
deploy:

type: git

repo: git@github.com:用户名/用户名.github.io.git

branch: master

【注意】因为 GitHub 之前的默认分支一直就是 master,但2020年10月后GitHub宣布:新建项目的默认分支将从master逐步改为main,所以最后一行 branch: master 可改为 branch: main

4. 上传博客文件

在本地的博客文件夹中,点击鼠标右键,选择「Git Bash here」,在弹出的命令框中依次输入:

1
2
3
4
5
6
$ hexo clean

$ hexo g // generate,生成静态网页

$ hexo d //部署文件

(//后面的内容是对脚本的注释,//及注释不用输入)

最后一步经常会出现很多问题:

  1. 执行 hexo d 时提示 ERROR Deployer not found: git

    另外执行一条语句:npm install hexo-deployer-git –save

  2. 执行 hexo d 时弹出 Open SSH 相关的提示框

    输入 yes 即可

  3. 执行 hexo d 后,输出的语句最后一行不是 Deploy done: git

如果之前的语句里有出现:Permission denied 字样,则说明需要先使用 SSH 连接;具体方法是:

  1. 创建 SSH key:在命令行工具里输入并运行:ssh-keygen -t rsa -C “你的 GitHub 邮箱”

  2. 输入文件名和密码:根据提示输入,可以直接回车跳过;

  3. 在 GitHub 添加 SSH key:找到 .ssh 文件夹(一般是在 C 盘用户文件夹下),使用记事本打开 id_rsa.pub 文件,复制文件里所有内容;或者使用命令复制:clip < ~/.ssh/id_rsa.pub

  4. 打开 GitHub 网站,点击右上角头像,再点 Settings,在打开的页面中左侧列表选择 SSH and GPG keys,再点击右侧 New SSH key,把刚才复制好的内容粘贴到下方的 key 框里(Title 可不填),最后点 Add SSH key;

前四步执行结束后,再重新运行 hexo d,就可以成功提交了;

截止到现在,本地文件已经可以提交到 GitHub 了,同时也可以通过指定的链接访问自己的博客了,链接是博客在 GitHub 的项目名:用户名.http://github.io, 大概是这个样子: