合并提交没有更改ID?

时间:2015-09-29 06:16:28

标签: git merge gerrit

我很难将一个分支重置为另一个分支。在将其与ours策略合并之后,我尝试推动gerrit。我收到一个错误,例如"缺少更改ID"。默认情况下,合并提交没有更改ID。我试图下载自动更改ID的commit-msg挂钩。但它在Windows中无济于事。知道如何在合并提交中添加更改ID吗?

1 个答案:

答案 0 :(得分:5)

情况:你有一个需要被推送到gerrit的提交,但是提交没有改变id,而且gerrit不会接受它。

解决方案:

  1. 从gerrit下载commit-msg钩子

    $ scp -p -P 29418 TimCastelijns@server.timcastelijns.nl:hooks/commit-msg tims-project/.git/hooks/
    

    请用您自己的端口号替换端口号,服务器地址和项目名称。另外,根据您在终端中的当前位置更改tims-project/.git/hooks/的路径。钩子必须进入<project_dir>/.git/hooks/

  2. 转到您的repo文件夹并修改合并提交

    $ cd tims-project/
    $ git commit --amend
    

    在修改时弹出的编辑器中,显示当前提交及其提交消息。 在此处不做任何事情。只需退出&amp;保存编辑器。由于commit-msg挂钩是一个提交后挂钩,所以自动生成(创建或修改)的任何提交都会被赋予一个更改ID。

  3. 推向gerrit

    $ git push origin HEAD:refs/for/master
    

    如果需要,请用您自己的分支和遥控器替换。

相关问题