Hexo 布署到 github

Hexo部署到github

注册github

进入github网站,并注册账号。然后登录后,创建仓库,仓库名要为域名方式,比如 frank.github.io 公开,并初始化readme。然后浏览器访问你刚才创建的域名frank.github.io,如果可以则表示成功。

PC机的github设置
1.安装必要的软件
1
2
$ sudo apt install git  #安装git
$ sudo apt install openssh-server openssh-client #安装ssh工具,可自行百度
2.设置github
1
2
3
$ git config --global user.name "frankli"
$ git config --global user.email "frankli@21cn.com"
$ ssh-keygen -t rsa -C "frankli@21cn.com" # 生成ssh key

会在主目录下的 .ssh目录中生成两个文件,打开id_rsa.pub文件,copy其中的内容。

3.去github.com你的账户下

setting—>SSH and GPG keys—->New SSH key中,然后把刚才id_rsa.pub文件中的内容copy放在此框中

4.验证,注意,由于网络原因,最好过一分钟再验证。
$ ssh -T git@github.com
Hexo的设置
  1. npm install hexo-deployer-git --save
  2. 编辑 blog 目录下的* _config.yml * 文件中,找到 Deployment ,然后按照如下修改
    1
    2
    3
    4
    5
    6
    # Deployment
    ## Docs: https://hexo.io/docs/deployment.html
    deploy:
    type: git
    repo: git@github.com:frankli/franli.github.io.git
    branch: master
    注意在_config.yml中不要乱用Tab,表示下一级的话,要用空格键,不然会出错的。
通过hexo命令部署
$ sudo hexo clean  
$ sudo hexo g  
$ sudo hexo d  

应该就会部署成功了。然而,我竟然失败了!失败了!失败了!,出现如下错误

Error: git@github.com: Permission denied (publickey).
fatal: 无法读取远程仓库。
请确认您有正确的访问权限并且仓库存在。

感谢在CSDN的“总想玩世不恭”的贴子上看到了原因,原来刚才生成的.ssh在用户目录下,可是执行hexo时,用的是sudo,而sudo是要到/root目录下查到.ssh中的文件的。解决办法如下:

1
2
$ sudo   cp   -r   .ssh   /root/  

然后再执行:

1
2
$ sudo hexo d 


成功了!,由于网络原因,可能你需要个几分钟到浏览器查看https://frank.github.io
应该会浏览到你的贴子了。

作者: 老李
鏈接: https://bosway.natapp300.top/