hexo deploy默认使用全局的git user.name user.email,那么请问能否hexo deploy 时带上临时指定的git账户 或者 在_config.yml指定git账户 使得push时与全局git账户区分开
可以用脚本实现,在hexo deploy之前将全局user更改,deploy完成之后再将user改回。
可以在_config.yml中设置
# You can use this:
deploy:
type: git
repo: <repository url>
branch: [branch]
message: [message]
name: [git user]
email: [git email]
extend_dirs: [extend directory]
@NoahDragon 在_config.yml 的deploy中配置了name和email,但是hexo deploy时,使用的依旧是~/.gitconfig文件中配置的user.name和user.email
在Linux系统之下就没有这种问题了,Linux每次部署都需要验证,而windows似乎只是初始时验证了一次。
On Tue, Jan 3, 2017 at 3:17 PM, zewenwang notifications@github.com wrote:
@NoahDragon https://github.com/NoahDragon 在_config.yml
的deploy中配置了name和email,但是hexo deploy时,使用的依旧是~/.gitconfig文件中配置的user.name
和user.email—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/hexojs/hexo/issues/2125#issuecomment-270061334, or mute
the thread
https://github.com/notifications/unsubscribe-auth/ATUEQqZ0fkuH2RED5djAvqjXsHsZP9H9ks5rOfYUgaJpZM4Jwd_4
.
@zewenwang 是否有设置系统变量GIT_COMMITTER_NAME or GIT_AUTHOR_NAME?
@WilliamYi96 sorry, 忘了说了,我这个是Mac OS,和纯Linux系统配置可能不是太一样。
@NoahDragon 没有配置这两个变量
可以到控制面板下的用户凭据,删除github的用户凭据,然后部署,会要求重新登陆,这样可以更换账户。亲测有效
@viger2012 Mac下怎么改?
按照@NoahDragon 的方法是可行,但是漏了一点,如果.deploy_git目录已经生成的情况下,需要删掉整个目录,再执行一次hexo d才行。记录一下,以免其他人踩坑。
@codezjx 删除了.deploy_git目录也不行呢?还是使用的默认用户进行提交,还有没有其他解决办法?
执行
eval $(ssh-agent)
ssh-add ~/.ssh/user2_rsa
hexo d
我按照@codezjx的方式操作,然后GitHub.io之前所有的commit log都没有了,事实上.deploy_git下还存放着很多其它文件,不仅仅是和email相关的。
如果涉及到多github账户,需使用@weiyandy的方式,我是只有一个账户的情况下:
简单测试了下,修改“/hexo/.deploy_git/.git/config”文件中的email即可。完整操作如下:
该方式可能并不通用,欢迎反馈效果。
一个账户为什么还要修改email,因为github profile的contributions统计时需要满足的其中一个条件是commit email == github email.
hexo d比较频繁,每次更新导致github profile算一次contributions,但其实很多是价值不大的commit的,通过修改email,就可以不让github计算通过hexo d 提交的commit。
可以使用@NoahDragon 的方法,不过注意的是需要删掉.deploy_git文件夹,然后重新部署
一开始使用了@NoahDragon 的方法,即删掉 .deploy_git文件夹,然后重新部署,发现之前部署的log都没了。
然后用了 @csIng 的方法,有效。
另外,对于 @weiyandy 的方法,应该也有效,不过没测试。
Most helpful comment
按照@NoahDragon 的方法是可行,但是漏了一点,如果
.deploy_git目录已经生成的情况下,需要删掉整个目录,再执行一次hexo d才行。记录一下,以免其他人踩坑。