ERROR: missing Change-Id in commit message footer

最近从Eclipse换到IDEA作为工作环境进行开发。我们公司用的是gerrit+git。进行代码管理工作,idea上添加git 如果是默认路径会自动添加上git,然后在gerrit上搜索gerrit插件,这里有个gerrit和git

ERROR: missing Change-Id in commit message footer_第1张图片

ERROR: missing Change-Id in commit message footer_第2张图片

当更改代码后提交可以正常上master 之后push to gerrit则报下面的错误:

Delta compression using up to 4 threads.
Total 10 (delta 5), reused 0 (delta 0)
remote: 
remote: Processing changes: refs: 1        
remote: Processing changes: refs: 1, done            
remote: ERROR: missing Change-Id in commit message footer        
remote: Suggestion for commit message:        
remote: 测试idea提交        
remote: 
To ssh://[email protected]:29418/vcheck/vcheck-portal
remote: Signed-off-by: r170004        
!    refs/heads/master:refs/for/master    [remote rejected] (missing Change-Id in commit message footer)
remote: 
remote: Change-Id: I6ae28295785999f7dc99a3840f1a3e1b8383fbee        
remote: 
remote: Hint: To automatically insert Change-Id, install the hook:        
remote:   scp -p -P 29418 [email protected]:hooks/commit-msg .git/hooks/        
remote: 
remote: 
error: failed to push some refs to 'ssh://[email protected]:29418/vcheck/vcheck-portal'

 

处理方式:

1、 在idea 的Teminal 执行 ,给当前idea的项目添加 执行scp命令是从gerrit代码服务器上将钩子脚本文件commit-msg下载到项目的钩子目录下

ERROR: missing Change-Id in commit message footer_第3张图片

2、在Temianl下对提交进行修改,将change-id追加到提交的地方:

         git commit --amend 执行后会进入提交message,添加change-id

3、推送代码到服务器上:

          git push origin HEAD:refs/for/master  (我这里推送到master分支上)

ERROR: missing Change-Id in commit message footer_第4张图片

 

这样就可以了。主要是因为chang-id在提交时没有 而gerrit要求每个提交都要有chang-id 所以加上就可以了。

 

你可能感兴趣的:(gerrit,git,push)