developer提交代码至Gitlab仓库dev分支后。Jenkins多分支流水线dev及master分支同时构建并且构建后结果代码混乱

近期在工作中遇到了比较奇怪的issue. 开发人员提交代码至dev分支后,竟然触发了dev及master的pipeline构建(同一时间发生)。并且构建完毕后的结果竟然是一摸一样(dev,master分支代码串行)。
以下为issue流程图介绍。

img

背景:
Gitlab仓库中针对每个分支都配置了webhook并且在trigger列表勾选了Push events并指定了具体分支。
Jenkins多分支流水线只是简单配置了gitlab地址,在Behaviours方面没有做任何高级配置。

有以下疑问:
1、Gitlab master分支的历史记录并未发生任何commit,为何会在dev分支代码发生变化后竟然也发生了构建?
2、尽管master发生了构建,但是由于master分支代码未发生变化,构建出来的结果也应该跟上一次构建出来的一样。为何此次误构建会和dev的构建结果相同并且构建结果都不是dev和master本该期望的构建。

很明显是开发把代码合并到了master上,导致master触发了构建,且和dev分支构建结果一致

master分支的历史记录显示并没有发生任何commit,并且master是protected状态。
构建结果和dev分支构建出来的尽管一致,但是构建出来的包里面既有部分dev也有部分master的配置。