合并提交没有更改ID?

Obu*_*dar 3 git merge gerrit

我很难将一个分支重置为另一个分支。将其与ours策略合并后,我尝试通过Gerrit。我收到类似“缺少更改ID”的错误。默认情况下,合并提交没有更改ID。我尝试下载commit-msg挂钩来获取自动更改ID。但这在Windows中无济于事。任何想法如何添加更改合并提交中的ID?

Tim*_*Tim 5

情况:您有一个提交需要推送到gerrit,但是该提交没有change-id,并且gerrit不会接受。

解:

  1. 从gerrit下载commit-msg钩子

    $ scp -p -P 29418 TimCastelijns@server.timcastelijns.nl:hooks/commit-msg tims-project/.git/hooks/
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    $ cd tims-project/
    $ git commit --amend
    
    Run Code Online (Sandbox Code Playgroud)

    在修改时弹出的编辑器中,显示当前提交及其提交消息。在这里什么也不做。只需退出并保存编辑器。由于commit-msg钩是提交后的钩子,因此任何进行(创建或修改)的提交都会自动分配一个change-id。

  3. 推动格里特

    $ git push origin HEAD:refs/for/master
    
    Run Code Online (Sandbox Code Playgroud)

    如果需要,用自己的分支和远程替换。