【问题标题】:GIT Error:- expected committer email '' but found 'karan@xyz.com'GIT 错误:- 预期提交者电子邮件 '' 但发现 'karan@xyz.com'
【发布时间】:2015-04-10 03:08:45
【问题描述】:

Git push 被拒绝并显示以下错误消息:

expected committer email '' but found 'karan@xyz.com'

我已经试过了:

  1. 在 .gitconfig 文件中设置使用属性。
  2. 尝试 git push 制作同一存储库的不同克隆。
  3. 格式化后将整个系统一起设置。

但没有一个有效。我还能做些什么来解决它。

【问题讨论】:

    标签: git commit git-commit git-config


    【解决方案1】:

    这对我有用:

    git config --global user.name "Correct Name" 
    git config --global user.email name@email.com 
    git commit --amend --reset-author
    

    它将显示您可以编辑提交消息的屏幕,编辑后或保持原样,然后按escape,然后按:wq并按回车键。

    然后:

    git push
    

    【讨论】:

    • 救命稻草 - 能否请您分享命令 #3 的来源!
    【解决方案2】:

    正如@VonC 提到的,在尝试将初始推送(包含我和其他同事的提交)到空的 Bitbucket Git 存储库(自托管的内部 Bitbucket 实例)。就我而言,抱怨的是 YACC(Yet Another Commit Checker)钩子,另请参见 Atlassian article

    但是,我没有全局停用钩子(如 Atlassian 文章所建议的那样),而是使用 empty 设置为我的 repo 显式激活它(覆盖了我的 repo 的全局钩子设置),进行了初始推送,然后再次禁用了我的仓库中的插件(这使插件仍然处于活动状态,但配置了全局服务器设置!)。

    【讨论】:

      【解决方案3】:
      git config --list --show-origin
      

      允许您查看设置的来源文件。 在我的情况下,它是一个不相关的 git 设置文件,它以某种方式进入了我的便携式 git install。

      【讨论】:

      • 这也帮助我找到了设置错误的地方。
      【解决方案4】:

      这对我有用

      git config --global user.name "Correct Name" 
      git config --global user.email name@email.com 
      git commit --amend --reset-author
      

      【讨论】:

      • git commit --amend --reset-author 为我工作,尽管我配置的电子邮件是正确的。所以我的提交历史没有改变。
      • 很好的解决方案!我被如何修改最后一次提交困扰了很长时间。
      【解决方案5】:

      这看起来不像是 git 限制,但应该是远程端的某种预接收挂钩(您要推送到的 Git 存储库托管服务/服务器)

      该钩子似乎解析提交并根据拒绝karan@xyz.com的特定标准检查提交者电子邮件。
      您应该咨询远程管理员以了解发生了什么。


      OP Karan Singla 确认 in the comments 是服务器端的问题:

      问题已解决。管理员重新创建了我的帐户,现在可以正常工作了。

      【讨论】:

      • 您的意思是说 Git 存储库托管服务/服务器上的电子邮件地址设置不正确。 .所以这个错误只能从那一边解决?
      • @KaranSingla 看起来是这样的。是私人服务(或 gitHub 或 BitBucket)
      • 这是一项私人服务。我应该具体要求项目主持人更正什么,以便我能够推送。
      • @KaranSingla 然后我确认:与该私有设置的管理员核实(例如,如果该服务使用 gitolite,则可能有一个 VREF 用于检查提交者的 ID,正如我在 @987654323 中提到的那样@)
      • @VonC..感谢您的帮助。问题得到解决。管理员重新创建了我的帐户,现在可以正常使用了。
      【解决方案6】:

      我建议打开 git 终端并设置正确的电子邮件。当我遇到同样的问题时,这对我有用。

      git config --global user.email "your_correct_email@example.com"
      

      【讨论】:

        猜你喜欢
        • 2017-07-28
        • 2018-05-27
        • 2018-05-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-05-01
        • 2021-07-04
        • 1970-01-01
        相关资源
        最近更新 更多