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