git-am不正确读取配置



看来git am --continue无法正确阅读我的配置。

git am --continue 
Applying: 
fatal: empty ident name (for <>) notallowed

我尝试按照建议git后接种后的钩子"空名称"。最初运行git config --global -luser.nameuser.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 (男人)当前放弃了他们的名字,并用他们的电子邮件地址代替。

最新更新