如何用ssh协议将本地的hexo部署至github
由于常规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
命令清理一下,避免出现一些莫名其妙的问题,比如主题色在本地已更新,但在部署时却还是旧的。