git push origin HEAD:refs/for/branch_name
Enumerating objects: 54, done.
Counting objects: 100% (54/54), done.
Delta compression using up to 8 threads
Compressing objects: 100% (19/19), done.
Writing objects: 100% (30/30), 2.51 KiB | 643.00 KiB/s, done.
Total 30 (delta 13), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (13/13)
remote: Processing changes: refs: 1, done
remote: ERROR: commit 11110bf4: missing Change-Id in message footer
remote:
remote: Hint: to automatically insert a Change-Id, install the hook:
remote: gitdir=$(git rev-parse --git-dir); scp -p -P xx xxx@gerrit.xx.com:hooks/commit-msg ${gitdir}/hooks/
remote: and then amend the commit:
remote: git commit --amend --no-edit
remote: Finally, push your changes again
Gerrit 提交代码”git push origin HEAD:refs/for/branch_name “时报上面错误,
问题分析:
git 上传缺少change id需要从服务端获取:
问题解决:
1、在.git文件夹中找到hooks,一般都是hooks里commit-msg文件缺失。
2、请先确保本地与远程服务器版本一致。
3、使用上文提示文本,从服务端获取change id。
$ gitdir=$(git rev-parse --git-dir); scp -p -P xx xx@gerrit_host:hooks/commit-msg ${gitdir}/hooks/
subsystem request failed on channel 0
scp: Connection closed
4、如执行失败,报上面的 subsystem request failed on channel 0
5、将上面的 scp -p 改为 scp -O 注:-O为大写字母。重新拉取hook change id。
6、hook安装成功后,需要执行 git commit --amend,更新当前提交的commit,否则就会形成一次新的提交。