当我使用Git push时,出现以下错误信息:
expected committer email '' but found 'karan@xyz.com'
我已经尝试过:
- 在.gitconfig文件中设置使用属性。
- 尝试通过对同一仓库进行不同的克隆来进行git push。
- 在格式化后将整个系统一起设置。
但是这些都没有奏效。我还能做些什么来解决这个问题呢?
当我使用Git push时,出现以下错误信息:
expected committer email '' but found 'karan@xyz.com'
我已经尝试过:
但是这些都没有奏效。我还能做些什么来解决这个问题呢?
这对我有效
git config --global user.name "Correct Name"
git config --global user.email name@email.com
git commit --amend --reset-author
git config --global user.name "Correct Name"
git config --global user.email name@email.com
git commit --amend --reset-author
它会显示一个屏幕,您可以在其中编辑提交消息。编辑或保留原样后,按escape然后输入:wq
并按Enter键。
接着:
git push
问题已解决。管理员重新创建了我的帐户,现在可以正常工作了。
我曾经遇到过类似的情况,当时在尝试将提交推送到空的Bitbucket Git仓库(内部自托管的Bitbucket实例)时涉及到了服务器端挂钩,正如@VonC所提到的。这些提交包括我和其他先前同事的。
在我的情况下,是YACC(Yet Another Commit Checker)挂钩抱怨某些电子邮件地址不为服务器所知。这些电子邮件地址是在项目初期设置阶段由离开组织的同事使用的,并且他们的帐户和电子邮件地址已经被删除。有关详细信息,请参见此Atlassian文章。
但是,我没有像Atlassian文章建议的那样全局停用挂钩:
git config --global user.email "your_correct_email@example.com"
尝试像您在版本控制配置中已设置的那样设置电子邮件(我曾使用过在Bitbucket中创建SSH公钥的电子邮件)。之后,我删除并再次克隆了,并使用以下命令,它可以正常工作。
git config --global user.email name@email.com
git commit --amend --reset-author