不想使用全局用户?教你为Hexo博客单独配置指定的git用户

起因

众所周知,Hexo 博客在 deploy 时,默认使用的是 Git全局用户。近期因为个人需要,在一台PC上配置了多个 git账户(取消了全局用户设置),导致 执行 hexo d 时报错,提示需要配置用户名。

因此,我们需要 “为 Hexo 博客单独配置指定的 git 用户” 。不过网上的教程大部分都是设置全局用户的方法,在一番折腾之后,我终于找到了的解决方案,就此分享一下。

解决方案

解决方法其实很简单:

  1. 首先,打开hexo博客所在的本地文件夹

  2. 打开此目录下 .deploy_git/.git/ 文件夹(.git 为隐藏目录)。另外需要注意,打开的一定是在 “.deploy_key” 目录下的 “.git” 文件夹,外层的 “.git” 文件夹与此无关,即使修改也没有作用。

  3. 用文本编辑器编辑该目录下的 config 文件,新增如下配置:

    1
    2
    3
    [user]
    name = YourUserName
    email = example@example.com

    注意使用你自己的用户名和邮箱替换对应值

  4. 保存配置文件并退出.

大功告成

期间踩坑

  1. 首先尝试了第一种方法,使用脚本解决,“在hexo deploy之前将全局user更改,deploy完成之后再将user改回。” 不过感觉不太完美

  2. 然后试了网上另一种方法,删除了 “.deploy_git” 目录,问题确实解决了,但是提交记录全没了(还好删之前有备份)

  3. 编辑 “config” 时,编辑成博客根目录下的 “.git/config” 导致修改不起效

  4. 修改了 博客根目录下 “_config.yml” 文件,在其中 deploy部分添加了如下配置:

    1
    2
    name: YourUserName
    email: example@example.com

    然而,Windows平台下这样做并没有什么用...(据说 Linux平台可以使用此方法)

p.s. 上述部分方法来自 Github 上 Hexo 项目的 issue #2125 能否hexo deploy 时指定git账户