问题
最近在玩Hexo的时候发现,使用 Hexo d
部署到github上的时候,用户名变成了公司的git账号,再去查我其他仓库的git提交,居然发现也都是我公司的账号!瞬间炸裂,我之前commit的contributions都没了QAQ
思考
造成这个问题的原因应该在git config的设置上,查阅了相关的资料,我发现问题出在git的global选项上。
如果你只有一个git账号的话,那么
|
|
这样设置是理所当然的,但如果我是多账户(个人一个,公司一个)那就会出现问题:当你没有局部设置的用户名,那么就会按照你的全局设置提交。
所以这个时候需要你单独设置:
|
|
那么当我如此设置好了之后,发现部署后依然是公司的账户。。。
后来先去翻查hexo的deploy模块,没有问题,静下心思考,发现盲点在于:与github同步的目录并不是hexo的根目录。
hexo的部署并不是部署自己的根目录,而是部署根目录下的.deploy_git/
文件夹中,所以git config 不应该在hexo的根目录设置局部的用户名和邮箱,而是应该去.deploy_git/
文件下设置。
解决
进入.deploy_git/
文件夹,发现git config果然没有修改过,赶紧添加用户名和账户:
|
|
push成功!
总结
在多用户git账号的情况下,似乎并没有很好的解决办法,只有通过设置局部用户名和邮箱才行。所以在实际使用中,还是应该将常用的用户名和邮箱设置为全局global,其他账号的项目则局部设置。