2015-09-29 78 views
3

我很难重置一个分支到另一个。在与ours战略合并之后,我尝试通过gerrit。我收到“缺少更改ID”的错误。默认情况下,合并提交没有更改ID。我试图下载自动更改ID的commit-msg钩子。但它在Windows中没有帮助。任何想法如何在合并提交中添加更改ID?合并提交没有更改ID?

+0

你可以添加错误信息吗?和push命令。当你尝试推动gerrit时会显示错误吗? – MTZ4

+0

检查了这一点:[为什么不Gerrit包含更改id到合并提交](http://stackoverflow.com/a/24692818/1342413) – HiB

+0

可能的重复[为什么Gerrit不包括change-id到合并提交? ](http://stackoverflow.com/questions/19917025/why-does-gerrit-not-include-the-change-id-into-merge-commits) –

回答

3

情况:你有一个需要推送给gerrit的提交,但提交没有change-id,gerrit不会接受它。

解决方案:

  1. 下载从格里特

    $ scp -p -P 29418 [email protected]:hooks/commit-msg tims-project/.git/hooks/ 
    

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

  2. 转到您的回购文件夹,并修改合并提交

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

    在弹出当你修改,目前提交的编辑器和它的提交信息显示。 这里什么都不做。只需退出&即可保存编辑器。由于commit-msg钩子是一个提交后的钩子,所以所做的任何提交(创建或修改)都会被自动分配一个change-id。

  3. 推格里特

    $ git push origin HEAD:refs/for/master 
    

    必要时,更换分支机构和远程用自己的。