看来git am --continue
无法正确阅读我的配置。
git am --continue
Applying:
fatal: empty ident name (for <>) notallowed
我尝试按照建议git后接种后的钩子"空名称"。最初运行git config --global -l
时user.name
和user.email
是正确的。我遵循了上一个问题中的建议,因此git config --local -l
也返回了完全相同的值。
我觉得(for <>)
在错误消息中很奇怪。从上述问题中的配置中,看来remote.origin.url
被忽略了。
我的设置可完美地工作。这是我第一次遇到这种错误。
有什么建议吗?
我认为 git am
忽略了全局配置值是设计 - 提交应具有补丁作者的名称/电子邮件,而不是您的。
相反,在继续时,git am
从文件.git/rebase-apply/author-script
读取此信息,在停止之前,该文件应通过git mailinfo
填充正确的值:
GIT_AUTHOR_NAME='Committer'
GIT_AUTHOR_EMAIL='email@example.org'
GIT_AUTHOR_DATE='Thu, 28 Apr 2016 11:38:59 -0700'
很可能是未正确格式化的应用.patch
-FILE(即缺少From:
和Date:
行),因此git mailinfo
无法弄清楚这些值。
您可以手动输入它们,然后运行git am --continue
以继续使用正确的值。
git am可能会忽略名称的另一种情况:git在历史上拒绝了一个非常短的字符串作为作者名称,同时接受补丁电子邮件。
git 2.33(Q3 2021)修复了。
请参阅Edef(edef1c
)的COMMIT 72EE47C(2021年5月16日)。
(由Junio C Hamano合并-gitster
-在2021年6月10日在COMPL 26B25E0中)
mailinfo
:不要在3个字符下丢弃名称签名:Edef
我有时会收到较短单词的人的补丁,在我的文化环境中,这些都不少见(如"虚假"程序员相信姓名&quot&quot&quot。
令我沮丧的是,git-am
(男人)当前放弃了他们的名字,并用他们的电子邮件地址代替。