致命:未找到带有"XXX"的现有作者



我第一次使用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'。如何设置用户名和电子邮件?

您应该在每次提交时停止使用--author,而是使用git config配置作者。完成后,您可以键入git commit,作者将从.gitconfig文件中提取。

如果您想给--author一个用于编写提交的名称,则需要使用

bob <bob@example.com>

而不仅仅是CCD_ 9。如果你的作者字符串与user <user@example.com>格式不匹配,Git会假设你给了它一个搜索模式,它会尝试找到匹配作者的提交。它将使用第一个找到的提交的user <user@example.com>作为作者。

此命令将完成以下操作:

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

注意:从Git 2.3.1+(2015年第一季度/第二季度)开始,错误消息将更加明确
参见Michael J Gruber提交的1044b1f(mjg):

commit:重新编写--author错误消息

如果指定了--author参数,但不包含">",则git会尝试在现有作者中查找该参数;并给出错误消息"0";CCD_ 17";如果没有对手。

这让试图指定有效完整作者的用户感到困惑名称

重命名错误消息,使其更清楚地表明故障有两个原因。

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

因此运行:

git add --all ; git commit -m "$git_msg" 
    --author "First Last <first.last@company.com>"; git push

根据我的经验,不要忘记<>正确的格式是

git commit --amend --author="bob <bob@example.com>"`

但是

git commit --amend --author="bob bob@example.com"

将显示is not 'Name <email>' and matches no existing author

相关内容

  • 没有找到相关文章

最新更新