ERROR: missing Change-Id in commit message footer

来源:互联网 发布:java map value 多值 编辑:程序博客网 时间:2024/06/05 04:48

在使用git推送到远程服务器的时候出现了如下错误:

remote: Change-Id: I6be0d3bc768b24b837223a55221403f4c65aff59

remote: ERROR: missing Change-Id in commit message footer

To ssh://lining@114.215.120.180:8849/activity
 ! [remote rejected] HEAD -> refs/for/develop (missing Change-Id in commit message footer)
error: failed to push some refs to 'ssh://lining@114.215.120.180:8849/activity'

根据提示可以判断是提交的编号错误(Change-Id),但是究竟是怎么回事呢?

项目中使用的是git控制版本,每个人做过修改之后都要提交到远程的git服务器上,但是为了便于统一管理或者少出错吧,中间添加了一道审核程序(在本地和远程服务器之间还有一道“防火墙”,使用的gitlab,每次都要现推送到gitlab经过审查通过之后才能推送到远程服务器上),每次提交(commit)都需要产生一个id以便区分不同的提交,这个id的产生是使用一段脚本控制的:scp -p -P 8849 lining@114.215.120.180:hooks/commit-msg .git/hooks/。(注:每个分支都使用该段脚本,只不过是为了生成id罢了,这是我用到的脚本)

一定要在提交(commit)之间使用(运行)该脚本生成一个id,然后再次进行推送。

推送成功,如:

如果已经提交(commit)了,就使用

git reset --soft HEAD~1
回退到上次提交之前,然后引入控制脚本(钩子):
scp -p -P 8849 lining@114.215.120.180:hooks/commit-msg .git/hooks/


0 0