我第一次使用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