Hexo部署个人博客到GitHub
准备工作
创建GitHub仓库
先在GitHub创建一个名字为username.github.io的项目,其中username替换成你自己的用户名
修改配置文件
打开_config.yml配置文件,找到deploy,修改成如下配置,其中username替换成你自己的用户名
# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@github.com:username/username.github.io
branch: master
安装Deployer
部署前还需要安装Deployer部署器,否则会报如下错误
ERROR Deployer not found: git
输入如下命令安装hexo-deployer-git
$ npm install hexo-deployer-git --save
安装成功
npm WARN babel-eslint@10.0.1 requires a peer of eslint@>= 4.12.1 but none is installed. You must install peer dependencies yourself.
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.9 (node_modules\fsevents):
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.9: wanted {"os":"darwin","arch":"any"} (current: {"os":"win32","arch":"x64"})
+ hexo-deployer-git@1.0.0
added 59 packages in 15.847s
Git设置user.email和user.name
本来以为准备工作已做完,直接运行$ hexo deploy部署,结果报如下错误
大致意思就是说要设置user.email和user.name
*** Please tell me who you are.
Run
git config --global user.email "you@example.com"
git config --global user.name "Your Name"
to set your account's default identity.
Omit --global to set the identity only in this repository.
fatal: unable to auto-detect email address (got 'Him@hongxiaoxin.(none)')
error: src refspec HEAD does not match any.
error: failed to push some refs to 'git@github.com:ghxiaoxiao/ghxiaoxiao.github.io'
FATAL Something's wrong. Maybe you can find the solution here: http://hexo.io/docs/troubleshooting.html
Error: Spawn failed
at ChildProcess.<anonymous> (d:\hexo\blog\node_modules\hexo-util\lib\spawn.js:52:19)
at emitTwo (events.js:126:13)
at ChildProcess.emit (events.js:214:7)
at ChildProcess.cp.emit (d:\hexo\blog\node_modules\cross-spawn\lib\enoent.js:40:29)
at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
那就设置一下呗,其中email是你的GitHub绑定的邮箱,用户名是你的GitHub用户名
$ git config --global user.email "youremail@demo.com"
$ git config --global user.name "whatisyourname"
Deploy部署
首先进入hexo博客的根目录
$ cd /d/hexo/blog
然后运行
$ hexo deploy
或者
$ hexo d
然后就可以看到类似如下的输出,开始部署上传
INFO Deploying: git
INFO Clearing .deploy_git folder...
INFO Copying files from public folder...
INFO Copying files from extend dirs...
warning: LF will be replaced by CRLF in 2019/06/16/hello-world/index.html.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in archives/2019/06/index.html.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in archives/2019/index.html.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in archives/index.html.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in css/main.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in css/style.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/helpers/jquery.fancybox-buttons.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/helpers/jquery.fancybox-buttons.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/helpers/jquery.fancybox-media.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/helpers/jquery.fancybox-thumbs.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/helpers/jquery.fancybox-thumbs.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/jquery.fancybox.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/jquery.fancybox.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in fancybox/jquery.fancybox.pack.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/affix.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/algolia-search.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/exturl.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/js.cookie.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/motion.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/next-boot.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/post-details.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/schemes/muse.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/schemes/pisces.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/script.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/scroll-cookie.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/scrollspy.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in js/utils.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/font-awesome/css/font-awesome.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/font-awesome/css/font-awesome.min.css.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/jquery/index.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/velocity/velocity.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/velocity/velocity.min.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/velocity/velocity.ui.js.
The file will have its original line endings in your working directory
warning: LF will be replaced by CRLF in lib/velocity/velocity.ui.min.js.
The file will have its original line endings in your working directory
[master (root-commit) a25c173] Site updated: 2019-06-17 19:14:40
72 files changed, 20010 insertions(+)
create mode 100644 2019/06/16/hello-world/index.html
create mode 100644 archives/2019/06/index.html
create mode 100644 archives/2019/index.html
create mode 100644 archives/index.html
create mode 100644 css/fonts/FontAwesome.otf
create mode 100644 css/fonts/fontawesome-webfont.eot
create mode 100644 css/fonts/fontawesome-webfont.svg
create mode 100644 css/fonts/fontawesome-webfont.ttf
create mode 100644 css/fonts/fontawesome-webfont.woff
create mode 100644 css/images/banner.jpg
create mode 100644 css/main.css
create mode 100644 css/style.css
create mode 100644 fancybox/blank.gif
create mode 100644 fancybox/fancybox_loading.gif
create mode 100644 fancybox/fancybox_loading@2x.gif
create mode 100644 fancybox/fancybox_overlay.png
create mode 100644 fancybox/fancybox_sprite.png
create mode 100644 fancybox/fancybox_sprite@2x.png
create mode 100644 fancybox/helpers/fancybox_buttons.png
create mode 100644 fancybox/helpers/jquery.fancybox-buttons.css
create mode 100644 fancybox/helpers/jquery.fancybox-buttons.js
create mode 100644 fancybox/helpers/jquery.fancybox-media.js
create mode 100644 fancybox/helpers/jquery.fancybox-thumbs.css
create mode 100644 fancybox/helpers/jquery.fancybox-thumbs.js
create mode 100644 fancybox/jquery.fancybox.css
create mode 100644 fancybox/jquery.fancybox.js
create mode 100644 fancybox/jquery.fancybox.pack.js
create mode 100644 images/algolia_logo.svg
create mode 100644 images/apple-touch-icon-next.png
create mode 100644 images/avatar.gif
create mode 100644 images/cc-by-nc-nd.svg
create mode 100644 images/cc-by-nc-sa.svg
create mode 100644 images/cc-by-nc.svg
create mode 100644 images/cc-by-nd.svg
create mode 100644 images/cc-by-sa.svg
create mode 100644 images/cc-by.svg
create mode 100644 images/cc-zero.svg
create mode 100644 images/favicon-16x16-next.png
create mode 100644 images/favicon-32x32-next.png
create mode 100644 images/loading.gif
create mode 100644 images/logo.svg
create mode 100644 images/placeholder.gif
create mode 100644 images/quote-l.svg
create mode 100644 images/quote-r.svg
create mode 100644 images/searchicon.png
create mode 100644 index.html
create mode 100644 js/affix.js
create mode 100644 js/algolia-search.js
create mode 100644 js/exturl.js
create mode 100644 js/js.cookie.js
create mode 100644 js/motion.js
create mode 100644 js/next-boot.js
create mode 100644 js/post-details.js
create mode 100644 js/schemes/muse.js
create mode 100644 js/schemes/pisces.js
create mode 100644 js/script.js
create mode 100644 js/scroll-cookie.js
create mode 100644 js/scrollspy.js
create mode 100644 js/utils.js
create mode 100644 lib/font-awesome/HELP-US-OUT.txt
create mode 100644 lib/font-awesome/bower.json
create mode 100644 lib/font-awesome/css/font-awesome.css
create mode 100644 lib/font-awesome/css/font-awesome.css.map
create mode 100644 lib/font-awesome/css/font-awesome.min.css
create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.eot
create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.woff
create mode 100644 lib/font-awesome/fonts/fontawesome-webfont.woff2
create mode 100644 lib/jquery/index.js
create mode 100644 lib/velocity/velocity.js
create mode 100644 lib/velocity/velocity.min.js
create mode 100644 lib/velocity/velocity.ui.js
create mode 100644 lib/velocity/velocity.ui.min.js
Enumerating objects: 94, done.
Counting objects: 100% (94/94), done.
Delta compression using up to 4 threads
Compressing objects: 100% (85/85), done.
Writing objects: 100% (94/94), 941.35 KiB | 4.32 MiB/s, done.
Total 94 (delta 9), reused 0 (delta 0)
remote: Resolving deltas: 100% (9/9), done.
To github.com:ghxiaoxiao/ghxiaoxiao.github.io
+ 7e2ebc3...a25c173 HEAD -> master (forced update)
Branch 'master' set up to track remote branch 'master' from 'git@github.com:ghxiaoxiao/ghxiaoxiao.github.io'.
[32mINFO [39m Deploy done: [35mgit[39m
浏览博客
大功告成,一切顺利的话可以直接在浏览器输入https://username.github.io/浏览博客
我的博客地址是https://ghxiaoxiao.github.io/,欢迎参观
参考

浙公网安备 33010602011771号