最近从Eclipse换到IDEA作为工作环境进行开发。我们公司用的是gerrit+git。进行代码管理工作,idea上添加git 如果是默认路径会自动添加上git,然后在gerrit上搜索gerrit插件,这里有个gerrit和git
当更改代码后提交可以正常上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://r170004@172.16.1.124:29418/vcheck/vcheck-portal
remote: Signed-off-by: r170004 <yu.ren@gareatech.com>
! 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 r170004@gls2.local:hooks/commit-msg .git/hooks/
remote:
remote:
error: failed to push some refs to 'ssh://r170004@172.16.1.124:29418/vcheck/vcheck-portal'
处理方式:
1、 在idea 的Teminal 执行 ,给当前idea的项目添加 执行scp命令是从gerrit代码服务器上将钩子脚本文件commit-msg下载到项目的钩子目录下
2、在Temianl下对提交进行修改,将change-id追加到提交的地方:
git commit --amend 执行后会进入提交message,添加change-id
3、推送代码到服务器上:
git push origin HEAD:refs/for/master (我这里推送到master分支上)
这样就可以了。主要是因为chang-id在提交时没有 而gerrit要求每个提交都要有chang-id 所以加上就可以了。