git push 报错:missing Change-Id in commit message footer(转载)

转载自:https://www.cnblogs.com/zndxall/p/9603834.html

git push 报错:missing Change-Id in commit message footer

使用gerrit后,提交代码会出现如下截图问题:
在这里插入图片描述

临时解决:

step1:把上面红色的那条gitidir复制下来执行下:
在这里插入图片描述

step2:执行下面的命令会添加change_id

git commit --amend

step3:然后推送代码到服务器上

git push origin HEAD:refs/for/$branch_name

上面这个情况主要针对本地刚下载的仓库,第一次提交会出现这个情况,只需要执行一次,以后再该仓库提交就不用执行了,说白了就是这个commit-msg是局部的,只对当前仓库生效。

还有另外一种情况,也是大家遇到比较多的,就是执行了上面的命令,再push时还是一样的错,这个时候,你就要检查下是否其他提交没有change_id,因为gerrit要求每个提交都要有change_id。

举例:

执行git log 看到类似如下现象:

在这里插入图片描述

从上而下,我们用commitid1,commitid2,commitid3表示截图中的三个提交,很明显,第二个提交commitid2没有change_id,这个时候我们可以git reset --soft commitid3来软回退到异常节点的前一个正常的节点,这个操作相当于撤销了最后的git commit -s的操作,add过的代码还在索引库(可以去了解下git reset --soft),具体操作如下:

(1) git reset --soft commitid3

(2) git status 可以看到绿色的已经add过的文件(即commitid1和commitid2的改动)

(3) git commit -s #添加评论,保存退出后会生成change_id

(4) git log 可以看到已经有了change_id

(5) git push origin HEAD:refs/for/工作分支

我的具体操作如下,供参考:

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值