问题描述
执行"hexo d"将配置文件部署到"git"仓库的时候,如果使用的是 https 协议推送,每次都需要验证账号密码。有可能因为网络原因导致验证失败。因此我们改成 ssh 协议,这样每次验证的时候就不用输入账号密码了。
设置用户信息
git config --global user.name "用户名"
git config --global user.email "邮箱"
配置 SSH key
创建 ssh key
ssh-keygen -t rsa -C "邮件地址"
复制 key
打开用户目录,在"C:\Users\用户\用户名.ssh"路径下,找到"id_rsa.pub"文件,右键—打开方式—记事本,打开后全选复制里面的内容

配置到 GitHub
登录"GitHub",右上角用户图标,找到"Settings",点击后找到"SSH and GPG keys" ,再点击"New SSH key" ,粘贴进去即可。
配置 hexo
安装 hexo-deployer-git。
npm install hexo-deployer-git --save
打开_config.yml 文件,找到"deploy"部分,修改成如下:
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。用 $ 作为前缀从而从环境变量中读取令牌 |