我很难将一个分支重置为另一个分支。将它与 ours
策略 merge 后,我尝试通过 gerrit 进行推送。我收到类似“缺少更改 ID”的错误。默认情况下, merge 提交没有更改 ID。我试图下载用于自动更改 id 的 commit-msg Hook 。但它在 Windows 中没有帮助。知道如何在 merge 提交中添加更改 id 吗?
最佳答案
情况:您有一个提交需要推送到 gerrit,但该提交没有 change-id,gerrit 不会接受它。
解决方法:
从 gerrit 下载 commit-msg 钩子(Hook)
$ scp -p -P 29418 TimCastelijns@server.timcastelijns.nl:hooks/commit-msg tims-project/.git/hooks/
请将端口号、服务器地址和项目名称替换为您自己的。另外,更改
tims-project/.git/hooks/
的路径取决于您在终端中的当前位置。钩子(Hook)必须进入<project_dir>/.git/hooks/
.转到您的 repo 文件夹并修改 merge 提交
$ cd tims-project/ $ git commit --amend
在修改时 pop 的编辑器中,会显示当前提交及其提交消息。 这里什么都不做。只需退出并保存编辑器。由于 commit-msg Hook 是一个提交后 Hook ,任何提交(创建或修改)都会自动分配一个更改 ID。
推送到 gerrit
$ git push origin HEAD:refs/for/master
如果需要,用您自己的替换分支和远程。
关于git - merge 提交没有更改 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32836936/