Git 如何推送其他作者';谁来承诺?

Git 如何推送其他作者';谁来承诺?,git,gerrit,Git,Gerrit,我从上游选择了一个提交,现在我想把它推到我的分支。当我尝试这样做时,我得到以下信息: remote: ERROR: In commit 5a0d13ea359e2056c205aa46f57d5e80f6251296 remote: ERROR: author email address <other author's email> remote: ERROR: does not match your user account.

我从上游选择了一个提交,现在我想把它推到我的分支。当我尝试这样做时,我得到以下信息:

remote: ERROR:  In commit 5a0d13ea359e2056c205aa46f57d5e80f6251296        
remote: ERROR:  author email address <other author's email>        
remote: ERROR:  does not match your user account.        
remote: ERROR:        
remote: ERROR:  The following addresses are currently registered:        
remote: ERROR:    <my email>        
remote: ERROR:        
remote: ERROR:  To register an email address, please visit:        
remote:错误:在提交5a0d13ea359e2056c205aa46f57d5e80f6251296中

远程:错误:作者电子邮件地址您可以SOFT重置此提交并提交。因此,它将获得您的帐户电子邮件和名称

如果问题是它正在通过电子邮件向您的帐户发送一个您可以提交的名称--author=“author name”您想要的作者

每个错误消息前面的“remote:”告诉您不是您的Git在抱怨,而是其他Git在抱怨。在本例中,由于您正在运行
git-push
,您的git正在转发来自您正在
git-push的git的投诉

他们的抱怨很明确:你是负责推送git的人,而另一个git有一个作者电子邮件地址列表,他们认为应该允许你使用。提交
5a0d13ea359e2056c205aa46f57d5e80f6251296
(这可能是您的
git cherry pick
操作的结果)将一些其他电子邮件地址列为其作者。因此,以下问题的答案是:

我可以在不更改作者的电子邮件或不将他们的电子邮件添加到我的电子邮件列表的情况下推送提交吗

很明显:不,如果您不能更改他们的Git运行的检查集;是的,如果您可以更改他们的Git运行的检查集


没有标准的方法来改变这些事情,所以答案可能是“不”。Gerrit确实有办法启用“伪造作者”权限,如图所示。要设置此权限,您必须是项目所有者。

可以。您需要在项目(或某些父项目,如所有项目)的refs/*引用集中具有“伪造作者身份”权限:


请与Gerrit管理员联系,询问此问题。查看更多信息。

这是“更改作者的电子邮件”,但OP明确要求不要这样做。“使用您想要的作者的--author=“author Name”。OP可以将提交的原始作者与此联系起来。谢谢你,我会向管理员申请这样的许可,因为这是我最可能需要的。我明白了,非常感谢你提供了详尽的答案。我可能会像马塞洛·维拉·德·奥利维拉所说的那样,请求行政长官的许可。