1.ErroeType

这个错误实在执行hexo deploy命令将静态文件上传到github时出现的,主要的问题是找不到git分支,查看本地hexo目录确实没有这个文件夹。

解决这个问题的方案是创建git文件夹,

1
git init

在本地hexo目录中找到.deploy_git文件夹,进入到文件夹输入命令创建git文件夹,再回去输入

hexo deploy上传即可。

2.ErrorType

这个错误是因为本地的博客版本与远程的版本不一致,解决方法是删除博客目录下的.deploy_git文件夹,然后克隆远程(也就是将要发布的地址)的仓库到博客目录里面,然后改名字为.deploy_git,另外一个不那么绕的办法是把远端仓库删除,删除本地的.deploy_git,再次发布,不过这样做会导致之前的提交记录丢失。

这是网上查到的解决方案,但是好像对于我并不是很友好,问题没有解决,对于这个报错网上的发布的解决方法发五花八门,发布的时间都在几年前,所以只能自己去试着排除……

(1)错误分析

首先本地运行一切正常,所在问题就是在执行hexo deploy命令时报错,那麽问题就出在本地与远程仓库连接这里,我们就试着从新配置一下仓库。

(2)创建github仓库

打开 GitHub ,点击 new 一个repository,创建一个新的仓库,仓库名称必须要遵守 GitHub Pages 的格式: 用户名.github.io ,否则会出问题,并且勾选 Initialize this repository with a README ,如下图所示。

建好仓库后,在 Settings 设置中有一个 GitHub Pages 一项,里面就写着 GitHub Pages 为我们创建好的域名。在浏览器中访问就可以看到一个初始的界面。这就是博客的默认地址,当然后面我们也可换成自己的域名。

如果还想用原来的仓库,就跳过这一步,进行下一步

(3)配置SSH

务必确保在 本地PC 已经完成了Node.js、Git 和 Hexo 的安装,打开 Git Bash ,如果是第一次使使用 Git 的话:

1
2
3
# 以下 user.name 和 user.email 输入自己的,示例:
git config --global user.name "sc"
git config --global user.email 邮箱号

使用 ssh-keygen 生成私钥和公钥:

1
ssh-keygen -t rsa

然后一路按回车

找到你的密钥 id_rsa 和公钥 id_rsa.pub 的位置。
接着在 GitHub 头像下的 Settings 里找到添加 SSH key,点击New SSH key

将刚刚生成的公钥 id_rsa.pub 文件里的内容复制到 Key 里,然后选择添加,GitHub 会提示输入密码确认。
接着在 本地PC 的 bash 上输入:

1
ssh -T git@github.com

(4)在本地pc上完成推送部署

接下来回到我们的 PC 上,在刚刚我们生成的 D:/blog 目录下,找到 hexo 的配置文件 _config.yml ,使用各种好用的编辑器打开它。在最下面有个 deploy 的配置,在那里修改为自己的 ID,示例:

1
2
3
4
deploy:
type: git
repo: git@github.com:ideallove/ideallove.github.io.git
branch: master

提示:缩进一定不能出问题。

然后保存并退出。再去执行hexo d就会成功推送到远程仓库。

提示:如果想要保存以前的博客,在进行操作前把github仓库里的东西克隆下来,配置完成后吧文件复制到public文件夹,执行生成静态文件命令,再进行远程推送。

本文章只是阐述了一下hexo博客部署到github的步骤,按照步骤来我相信都能够创建属于自己的博客,详细的步骤和讲解请移步到hexo官方文档进行查阅。