Change-Id是保证已经提交审核的修订通过审核入库后,被别的分支 cherry-pick 后再推送至服务器时不会产生新的重复的评审任务。Gerrit 设计了一套方法,即要求每个提交包含唯一的 Change-Id,这个 Change-Id 因为出现在日志中,当执行 cherry-pick 时也会保持,Gerrit 一旦发现新的提交包含了已经处理过的 Change-Id ,就不再为该修订创建新的评审任务和 task-id,而直接将提交入库。
今天第一次在使用 Git push 代码的时候遇到一个问题:
missing Change-Id in commit message footer!如下图:
然后自己百度了一些解决方案,就是利用 commit-msg hook 脚本自动生成 change-id ,将 hook 脚本复制到 Git 项目中.git/hooks下,并命名为“commit-msg”,添加完成后在执行 chmod u+x .git/hooks/commit-msg 保证 hook 可执行,仔细一看还挺麻烦的。
其实在上面的错误信息中已经把解决方案提示出来了,就是上图的红色框框内命令,找到你报错命令位置复制下面执行一遍,然后用 git commit --amend 重新提交一下,最后再 git push 你的代码到服务器。
博主只是一名前端的小白,只是把自己用到的知识分享一下,要是有什么不对的地方,欢迎大家提出~~
评论