问题描述

执行”hexo d”将配置文件部署到”git”仓库的时候,如果使用的是 https 协议推送,每次都需要验证账号密码。有可能因为网络原因导致验证失败。因此我们改成 ssh 协议,这样每次验证的时候就不用输入账号密码了。

设置用户信息

1
2
git config --global user.name "用户名"
git config --global user.email "邮箱"

配置 SSH key

创建 ssh key

1
ssh-keygen -t rsa -C "邮件地址"

复制 key

打开用户目录,在”C:\Users\用户\用户名.ssh”路径下,找到”id_rsa.pub”文件,右键—打开方式—记事本,打开后全选复制里面的内容

复制 key

配置到 GitHub

登录”GitHub”,右上角用户图标,找到”Settings”,点击后找到”SSH and GPG keys” ,再点击”New SSH key” ,粘贴进去即可。

配置到 GitHub


配置 hexo

安装 hexo-deployer-git。

1
npm install hexo-deployer-git --save

打开_config.yml 文件,找到”deploy”部分,修改成如下:

1
2
3
4
5
deploy:
type: git
repo: <repository url> #git@github.com:xfanweb/xfanweb.github.io.git
branch: [branch]
message: [message]
参数 描述 默认
repo 库(Repository)
branch 分支名称 gh-pages (GitHub) coding-pages (Coding.net) master (others)
message 自定义提交信息 Site updated: 2024-06-14 11:33:00
token 可选的令牌值 可选的令牌值,用于认证 repo。用 $ 作为前缀从而从环境变量中读取令牌