繁体   English   中英

Git\\Gerrit 远程拒绝了“提交消息页脚中缺少更改 ID”

[英]Git\Gerrit remote rejected with “missing Change-Id in commit message footer”

首先,让我承认我不是 git-guru,甚至不是 git-newbie。 我们已经安装了 gerrit 并且我能够提交对 repo 的更改......有时。 这是我遵循的步骤:

  1. git add file.txt

    git add file2.txt ..... 等等

  2. git commit -m"My awesome commit message"
  3. git push origin master:refs/for/master

这 10 次中有 9 次有效,但 10 次中有 1 次我得到“提交消息页脚中缺少 Change-Id”然后执行 git commit --amend 并且我可以看到提交消息在那里。

这是我咆哮的地方,因为我不明白为什么我会遇到这个问题......有时。 当前提交 --amend 在顶部显示我的消息,一个空行,然后是带有 Change-Id: 的行。 然后是另一个空行和下面带有注释的行(由 .... git 添加?)

我该如何解决这个问题以及如何永久修复它以便我再也不会遇到它? 我承认这是我缺乏知识 - 100%

这就是我得到的结果:git commit --amend: 在此处输入图片说明

Gerrit 要求 Change-Id 行必须位于提交消息的最后一段。

您需要了解为什么在 Change-Id 之后有一些行。 提交时是否有任何钩子正在执行?

更新:

您的提交消息没有任何问题:

  1. Change-Id 行是由 commit-msg 钩子自动添加的,它是正确的。

  2. 空行也可以...它是自动添加的以将您的消息与 Change-Id 分开

  3. 注释行是 Git 的东西......只需注意:“以'#'开头的行将被忽略”。 只是忽略它们。

保存提交后执行:

git log

验证您的提交。

那么,问题是什么? 为什么 Gerrit 报告“缺少 Change-Id”?

因为问题可能不在最后一次提交中! 问题(缺少 Change-Id)可能出在父提交上。 执行“git log”命令并​​检查你的提交历史,寻找任何没有 Change-Id 的新提交。

这似乎是 Gerrit 的要求

出现此错误消息,如果推送提交的提交消息在页脚中不包含 Change-Id(最后一段),则 Gerrit 拒绝将提交推送到配置为始终需要提交消息中的 Change-Id 的项目.

发生此错误的原因可能有多种:

 1. missing Change-Id in the commit message 2. Change-Id is contained in the commit message but not in the last paragraph

提交消息页脚问题中缺少 Change-Id

在项目的 .git/hooks 文件夹中检查并添加 commit-msg 文件。 然后做一个 git reset HEAD~ 然后在添加文件后推送代码更改

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM