[英]Git\Gerrit remote rejected with “missing Change-Id in commit message footer”
首先,让我承认我不是 git-guru,甚至不是 git-newbie。 我们已经安装了 gerrit 并且我能够提交对 repo 的更改......有时。 这是我遵循的步骤:
git add file.txt
git add file2.txt
..... 等等
git commit -m"My awesome commit message"
git push origin master:refs/for/master
这 10 次中有 9 次有效,但 10 次中有 1 次我得到“提交消息页脚中缺少 Change-Id”然后执行 git commit --amend 并且我可以看到提交消息在那里。
这是我咆哮的地方,因为我不明白为什么我会遇到这个问题......有时。 当前提交 --amend 在顶部显示我的消息,一个空行,然后是带有 Change-Id: 的行。 然后是另一个空行和下面带有注释的行(由 .... git 添加?)
我该如何解决这个问题以及如何永久修复它以便我再也不会遇到它? 我承认这是我缺乏知识 - 100%
Gerrit 要求 Change-Id 行必须位于提交消息的最后一段。
您需要了解为什么在 Change-Id 之后有一些行。 提交时是否有任何钩子正在执行?
更新:
您的提交消息没有任何问题:
Change-Id 行是由 commit-msg 钩子自动添加的,它是正确的。
空行也可以...它是自动添加的以将您的消息与 Change-Id 分开
注释行是 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
在项目的 .git/hooks 文件夹中检查并添加 commit-msg 文件。 然后做一个 git reset HEAD~ 然后在添加文件后推送代码更改
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.