0

我们正在使用 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 钩子?我们怎样才能让它自动触发钩子?

4

1 回答 1

1

该问题与递归合并策略无关(我认为这只是一个巧合)。如果您想了解有关递归合并策略的更多信息,请查看有关它的非常好的文本

出现此问题是因为 Git commit-msg 挂钩未针对没有冲突的合并提交执行。您将在以下位置找到一个非常好的解决方法:https ://stackoverflow.com/a/24692818/4653675

于 2017-02-14T16:50:01.357 回答