需要将现有的git repo推送到Gerrit,但是这样做有问题:
remote: ERROR: missing Change-Id in commit message footer
因为回购中不包含.git/hooks/commit-msg
。现在,我已经安装了脚本,但是需要更改数百条提交消息以将Change-Id
添加到各处。如何以最佳和最简便的方式自动进行制作?
可能的解决方案:
git rebase -i
,但是它是交互式的,而且大多是手动过程。 sed
一起使用git rebase
命令作为提交消息编辑器。在我的情况下,确切的rebase
命令是什么?git filter-branch
命令,但是它仅适用于当前分支上尚未被推送到上游分支的提交。还有其他解决方案,解决方案或建议吗?谢谢!
答案 0 :(得分:1)
您需要与Gerrit管理员进行交谈,并寻求许可以直接将其推送到分支机构绕过审阅。解释一下您要做什么,告诉您暂时只需要此权限(执行“ git push gerrit HEAD:refs / heads / master”命令后,可以删除该权限)。
其他可能性:请请Gerrit管理员或有权推送到refs / heads / *(配置管理器曾经具有这种权限)的人来为您执行命令。
不要追溯更改过去的提交,这不是一个好主意。