Git fatal unable to auto-detect email address

在配置GitGitee仓库自动部署时遇到权限错误,表现为www-data用户无法设置全局git用户信息。通过查看webhooks日志发现无法检测到电子邮件地址。尝试设置和替换全局用户信息后,问题仍未解决。最终通过直接在项目中设置用户信息,成功实现了自动拉取代码,确保了服务器的自动部署功能。
摘要由CSDN通过智能技术生成
WechatIMG1442.jpeg

场景

实现 Git Gitee仓库自动部署,使用 www-data 用户拉取代码时,每次都要设置全局 git 用户信息。

错误

$ cat /var/log/webhooks.log
From gitee.com:xoncology/shjyzxk
 * branch            zhangyuhai -> FETCH_HEAD
warning: unable to access '/root/.config/git/attributes': Permission denied
*** 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 'www-data@iZuf68boltvbz79cxbsunfZ.(none)')

查看 webhooks 日志文件,返回fatal: unable to auto-detect email address

解决

  • 查看当前项目 git 信息
$ git config --local -l
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@gitee.com:xoncology/shjyzxk.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.test.remote=origin
branch.test.merge=refs/heads/test

看到并没有全局用户信息。

  • 设置全局用户信息
$ git config --global user.email "you@domain.com" && git config --global user.name "dev"

执行上面命令设置后,还是不能成功拉取。

  • 直接替换全局用户信息
$ git config --replace-all user.email "you@domain.com" && git config --replace-all user.name "github_username"
  • 再次查看当前项目 git 信息
core.repositoryformatversion=0
core.filemode=true
core.bare=false
core.logallrefupdates=true
remote.origin.url=git@gitee.com:xoncology/shjyzxk.git
remote.origin.fetch=+refs/heads/*:refs/remotes/origin/*
branch.master.remote=origin
branch.master.merge=refs/heads/master
branch.test.remote=origin
branch.test.merge=refs/heads/test
user.email=you@domain.com
user.name=github_username

看到已成功返回全局用户信息,再次尝试提交代码,服务器可以自动拉取。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值