我很难将一个分支重置为另一个分支。在将其与ours
策略合并之后,我尝试推动gerrit。我收到一个错误,例如"缺少更改ID"。默认情况下,合并提交没有更改ID。我试图下载自动更改ID的commit-msg挂钩。但它在Windows中无济于事。知道如何在合并提交中添加更改ID吗?
答案 0 :(得分:5)
情况:你有一个需要被推送到gerrit的提交,但是提交没有改变id,而且gerrit不会接受它。
解决方案:
从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/
。
转到您的repo文件夹并修改合并提交
$ cd tims-project/
$ git commit --amend
在修改时弹出的编辑器中,显示当前提交及其提交消息。 在此处不做任何事情。只需退出&amp;保存编辑器。由于commit-msg挂钩是一个提交后挂钩,所以自动生成(创建或修改)的任何提交都会被赋予一个更改ID。
推向gerrit
$ git push origin HEAD:refs/for/master
如果需要,请用您自己的分支和遥控器替换。