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/,欢迎参观

参考

 

 

 

 

 

posted @ 2019-06-17 22:52  野猿新一  阅读(47)  评论(0)    收藏  举报