hexo+github 搭建个人博客手册

Posted by Charlie on 2019-05-20

1.github 准备

  1. 在 github 上创建一个名为 用户名.github.io 的仓库
    1. 类型要选择为 public
    2. 点选上创建 README
  2. 通过仓库 settings开启 page 模式(默认是开启的)
  3. 随便选择一个主题,配置完毕
  4. 此时即可以访问 用户名.github.io 访问个人博客

2.hexo 准备

hexo 官网https://hexo.io/zh-cn/docs/

安装官网步骤,进行 hexo 安装、hexo 建站基本配置

2.1.部署到 github 的配置

修改_config.yml 中deploy 相关的内容

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

3.提交到 github

因为我的电脑上既有公司的 git 配置,又要使用我自己的 github,所以针对 git 需要配置两套。

一台电脑绑定两个git 账号。因为通常与git 仓库连接使用 ssh 方式,所以需要配置两套 ssh key。

3.1.SSH KEY 配置

  1. 查看已有的ssh key。mac 下输入 ls ~/.ssh/ 看到有 id_rsa与 id_rsa.pub 说明已经有一对密钥

  2. 生成一对新的密钥,并命名为 id_rsa_github

    1
    ssh-keygen -t rsa -f ~/.ssh/id_rsa_github -C "yourmail@xxx.com"
  3. 在.ssh 目录下创建 config,并编辑。使不同的 Host 使用不同的 ssh key

    关于 SSH config 文件配置,参见:https://deepzz.com/post/how-to-setup-ssh-config.html

    1
    2
    3
    4
    5
    6
    7
    8
    Host git.sankuai.com
    HostName git.sankuai.com
    User wangchao44
    IdentityFile ~/.ssh/id_rsa
    Host github.com
    HostName github.com
    User charliewong001
    IdentityFile ~/.ssh/id_rsa_github
  1. 将生成的 id_rsa_github.pub配置到 github 中

  2. 测试 ssh 链接

    1
    2
    ssh -T git@github.com
    Hi charliewong001! You've successfully authenticated, but GitHub does not provide shell access.
  3. 取消 git user 的全局设置

    1
    2
    3
    # 取消全局 用户名/邮箱 配置
    git config –global –unset user.name
    git config –global –unset user.email
  4. 单独进行每个 git 仓库的 user 设置

    关于 git config 配置文件的优先级:https://www.cnblogs.com/tuhooo/p/8879805.html

    1. 版本库级别的配置文件,优先级最高
    2. 全局配置文件(用户主目录下),优先级次之
    3. 统级配置文件(/etc目录下),优先级最低
    1
    2
    3
    # 单独设置每个repo 用户名/邮箱
    git config user.email “xxxx@xx.com”
    git config user.name “xxxx”

3.2.deploy git 仓库设置

hexo 仓库目录下会有一个 .deploy_git 目录,此目录下就是会提交到 “用户名.github.io” 仓库中的内容。

.deploy_git 即是远程博客仓库的本地仓库,所以需要到.deploy_git 仓库中设置 github 的 user.name 和 user.email

4.保存主题、博客源文件

至此为止,已经可以在本地创建 hexo 站点,并提交发布到 github 远端站点。

但是假如自己换了电脑,那么自己的博客源文件还需要从旧电脑 copy 到新电脑,

所以最好将自己的源文件及主题等也保存到远端。

  1. github 上创建 blog 仓库,保存博客源文件
  2. git clone 仓库到本地
  3. 将 hexo 站点中的内容 copy 到 blog 仓库中
  4. 设置.gitignore,将.deploy_git 、public忽略,不提交