我从上游挑选了一个提交,现在我想把它推到我的分支。当我尝试时,我收到以下消息:
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:
我可以在不更改作者的电子邮件或不将其电子邮件添加到我的电子邮件列表的情况下推送提交吗?
是的你可以。您需要在项目中的refs / *参考集中(或在像All-Projects这样的某个父项目中)拥有“Forge Author Identity”权限:
请与Gerrit管理员联系,询问此问题。查看更多信息here。
您可以SOFT重置这个挑选的提交并提交它。这样它就会收到您的帐户电子邮件和姓名。
如果问题是它为您的帐户发送了一个名称,您可以使用--author =“作者名称”提交您想要的作者
每条错误消息前面的“remote:”告诉你,这不是你的Git抱怨,而是其他一些Git。在这种情况下,由于你正在运行git push
,你的Git正在转发来自你正在进行git push
ing的Git的投诉。
他们的抱怨非常清楚:你是那个做git push
的人,而他们 - 另一个Git--有一个他们认为你应该被允许使用的作者电子邮件地址列表。提交5a0d13ea359e2056c205aa46f57d5e80f6251296
(可能是您的git cherry-pick
操作的结果)列出了其他一些电子邮件地址作为其作者。所以答案是:
我可以在不更改作者的电子邮件或不将其电子邮件添加到我的电子邮件列表的情况下推送提交吗?
很清楚:不,如果你不能改变他们的Git运行的检查集;是的,如果你可以改变他们的Git运行的检查集。
没有标准的方法可以改变这些东西,所以答案可能是“不”。 Gerrit确实有办法启用“伪造作者”权限,如described here。要设置此类权限,您必须是项目所有者。