git push错误:未在提交消息页脚中由作者/提交者/上载者签名

问题描述 投票:0回答:2

我是使用git的新手。因此,在正确方向上的任何帮助都将大有帮助。

我正在本地存储库上处理问题,并且发现此错误已在kernel.org存储库中修复。

所以现在我正试图从kernel.org分支中提取(修复)此修复程序(commit-id),并将其提交给我的本地gerrit。而且我正在尝试维护来自kernel.org分支的提交的提交消息。

[当我尝试在本地Gerrit上推送此修复程序时,遇到以下错误:

错误:到ssh://@123.321.12.1:1234 / mirror-sec / asdfgt / hjks! [远程拒绝]-> refs / for /(提交消息页脚中未由作者/提交者/上载者签名)错误:无法将某些引用推送到ssh://@123.321.12.1:1234 / mirror-sec / asdfgt / hjks'

以下是我遵循的步骤:

  1. did,git远程添加'tag'git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
  2. did,git fetch'tag'
  3. 搜索提交,git log'tag'/ master
  4. 樱桃选择所需的特定提交ID,git cherry-pick
  5. did,git commit --amend,以获取经过精心挑选的commit-id的新的change-id
  6. 进行了git push,所以将更改提交给本地gerrit。 git push ssh://@123.321.12.1:1234 / mirror-sec / asdfgt / hjks:refs / for /

    当我按照上述步骤操作时,我遇到了上述错误。

我做错了什么吗?我忽略的任何信息都会有很大帮助。

谢谢,

git-push
2个回答
1
投票

Gerrit中的项目可以配置为要求在提交消息的页脚中签名,以强制所有更改均由作者,提交者或上载者签名。如果对于项目需要Sign-off-by,并且提交消息页脚中不包含该签名,则Gerrit会拒绝使用此错误消息来推送提交。

[拥有访问权限伪造提交者可以跳过此策略。

此错误可能因不同的原因发生

如果您没有伪造提交者身份的访问权:

在提交消息页脚中缺少签署人签发者包含在提交消息页脚中,但不是来自作者,提交者或上载者]

作者,提交者或上载者的签名已包含在提交消息中,但不包含在页脚(最后一段)中>

为了能够推送您的提交,您可以修改您的提交并添加已签名的行,或者在您的本地Gerrit中使用伪造提交器选项

对于其他人来说,您可以尝试以下答案:

git commit --amend -s

0
投票

对于其他人来说,您可以尝试以下答案:

© www.soinside.com 2019 - 2024. All rights reserved.