我们正在使用 gerrit CI,它需要一个 commit-msg 钩子,它为每个提交消息添加一个 Change-ID。
但是,有时在拉取时我们会得到递归合并,这会在 reflog 中显示如下:
767deb5 HEAD@{0}: pull: Merge made by the 'recursive' strategy.
发生这种情况时,我们无法推送到我们的 gerrit 服务器,并收到以下消息:
! [remote rejected] HEAD -> refs/for/master ([767deb5] missing Change-Id in commit message footer)
通过修改最后一次提交很容易解决。但这很乏味,而且令人沮丧。
我们怎样才能避免这个问题?为什么递归合并策略不会触发 commit-msg 钩子?我们怎样才能让它自动触发钩子?