Git 问题:ERROR: [aebcdfd] missing Change-Id in commit message footer(已解决)

[toc]

一、问题

在push提交的时候,有时会出现以下错误,“missing Change-Id in commit message” :

missing change-id

二、错误原因

从上述错误信息中也可以看出来,该提交缺少Change-ID。由于Change-ID对于git仓库来讲是该提交唯一可识别的ID,因此,缺少Change-ID是一个Fatal error,这样肯定是不能入库的。一般情况下,Change-ID都是由".git/hooks/commit-msg"脚本在执行"git commit"的时候自动生成的。如果出现上述错误,极有可能是当前git库下缺少上述".git/hooks/commit-msg"脚本。

三、解决办法

3.1 获取commit-msg脚本

获取的方法一般有两种。第一种是使用命令行从git服务器获取,执行以下命令:

gitdir=$(git rev-parse --git-dir);scp-p -P 29418 xxx@gerrit.yyy.com:hooks/commit-msg${gitdir}/hooks/

第二种,右键点击此处,另存为"commit-msg",然后将其复制到当前仓库的".git/hooks/"文件夹下。然后,使用下列命令添加该脚本的可执行权限

chmod a+x .git/hooks/commit-msg

3.2 修改缺少Change-ID的提交

如果是最后一个提交缺少Change-ID,那么只需要执行"git commit --amend",重新修改commit message即可。
如果缺少Change-ID提交不是最后一个,那么请使用"git rebase -i HEAD~xxxx"修改之后,重新提交即可。

发表回复

您的电子邮箱地址不会被公开。