由于常规http和https协议部署的时候会出现fatal: unable to access 'https://github.com/yourusername/yourusername.github.io.git/': Could not resolve host: github.com``FATAL Something's wrong. Maybe you can find the solution here: https://hexo.io/docs/troubleshooting.html这样子的报错信息,导致部署失败,所以我们需要用ssh协议将本地的hexo部署至github,防止出现上述问题。以下是具体的操作步骤:

1. 创建SSH Key

在本地终端输入以下命令,创建SSH Key:

ssh-keygen -t ed25519 -C "your_email@example.com"

其中,-t ed25519表示使用Ed25519算法,"your_email@example.com"是你GitHub的邮箱地址。

然后多次按回车键,直到生成SSH Key。生成SSH Key时,你会看见.ssh/id_ed25519.pub被保存在你的用户目录下。

2. 添加SSH Key到GitHub

在本地终端工作目录为用户目录(比如C:\Users\YourName\,其中YourName是你的用户名,如果还不是则先用cd C:\Users\YourName\命令进入用户目录),用clip < ~/.ssh/id_ed25519.pub命令将SSH Key复制到剪贴板。

然后打开GitHub网站,点击右上角的头像,选择Settings,然后选择SSH and GPG keys,点击New SSH Key,将SSH Key的内容粘贴到Key文本框,并输入Title,点击Add SSH Key即可。

3. 配置SSH协议

在本地hexo目录中打开配置文件_config.yml,找到deploy部分,将type改为git,并添加以下配置(注意repo和type关系并列):

1
repo: git@github.com:yourusername/yourusername.github.io.git

4. 部署

在本地终端输入以下命令,部署:

hexo deploy

等待部署完成即可。

另外,部署前的生成最好先用hexo clean命令清理一下,避免出现一些莫名其妙的问题,比如主题色在本地已更新,但在部署时却还是旧的。