首页 > 解决方案 > 将 git 存储库从 Github 自动移动到 Gerrit

问题描述

需要将现有的 git repo 推送到 Gerrit,但是这样做有问题:

remote: ERROR: missing Change-Id in commit message footer

因为 repo 不包含.git/hooks/commit-msg. 现在我已经安装了脚本,但是需要更改数百条提交消息才能在Change-Id任何地方添加。如何以最好和最简单的方式自动制作它?可能的解决方案:

  1. 我在这里看到一些建议使用的主题git rebase -i,但是它是交互式的并且主要是手动过程。
  2. 其他人sed命令与git rebase作为提交消息编辑器一起使用。在我的情况下,确切的rebase命令是什么?
  3. 第三个建议使用git filter-branch命令,但它仅适用于尚未推送到上游分支的当前分支上的提交。

上述任何其他解决方案、修复或建议?谢谢!

标签: gitgerritrebase

解决方案


您需要与 Gerrit 管理员交谈并请求允许绕过审查直接推送到分支。解释你想要做什么,告诉你你只是暂时需要这个权限(在执行“git push gerrit HEAD:refs/heads/master”命令之后,可以删除权限)。

其他可能性:请 Gerrit 管理员或有权推送到 refs/heads/* 的人(配置管理器使用具有此类权限)为您执行命令。

不要追溯更改过去的提交,这不是一个好主意。


推荐阅读