致命:没有找到'XXX'的现有作者

时间:2014-10-11 19:22:21

标签: git git-commit git-config git-commands

我第一次使用git并设置了用户名和用户邮件。我使用的命令如下:

git config --global user.email "bob@example.com"
git config user.email "bob@example.com"
git config --global user.name "bob"
git config user.name "bob"

当我运行git commit --author "bob"时,出现错误fatal: No existing author found with 'bob'。如何设置用户名和电子邮件?

3 个答案:

答案 0 :(得分:40)

每次提交时都应停止使用--author,而是使用git config配置作者。完成此操作后,您可以输入git commit,并从您的.gitconfig文件中提取作者。

如果要为--author提供用于创作提交的名称,则需要使用

bob <bob@example.com>

不只是bob。如果您的作者字符串与user <user@example.com>格式不匹配,Git会假设您已经为其提供了搜索模式,并且它将尝试查找具有匹配作者的提交。它将使用第一个找到的提交user <user@example.com>作为作者。

答案 1 :(得分:12)

这个命令可以解决问题:

git commit --amend -C HEAD --reset-author

答案 2 :(得分:4)

注意:从Git 2.3.1+开始(2015年第1季度/第2季度),错误消息将更加明确 请commit 1044b1fMichael J Gruber (mjg)

  

commit:reword --author错误消息

     

如果指定了--author参数但不包含&{39; >&#39;然后git尝试在现有作者中找到参数;并提供错误消息&#34; No existing author found with '%s'&#34;如果没有匹配。

     

对于尝试指定有效的完整作者的用户而言,这会让人感到困惑   名。

     

重命名错误消息,以便更清楚地知道故障有两个   在这种情况下的原因。

解决方案仍然是正确设置config user.name和user.email,但对于使用--author的情况,至少预期的参数现在更清晰了。