用户A和B各自对特定仓库进行修改(在不同的功能分支上)。
用户A将更改合并到暂存分支。 Jenkins构建了分段分支,并且成功了。
用户C(用户B团队的发布经理)将用户B的更改合并到暂存分支。但是,合并中的某些内容出错并且未被注意到,例如未能正确解决的冲突。
Jenkins构建了分段分支,但由于合并错误而失败。
用户A和B会收到构建失败的通知,因为他们的代码是合并的一部分,即使他们的更改没有出错。用户C永远不会收到失败通知,即使他的错误合并是破坏了构建的。
有办法:
答案 0 :(得分:1)
您可以尝试强制始终no fast-forward merges(--no-ff
选项)并且所有合并甚至会产生合并提交(不仅在存在冲突时)。
它还可以生成更易读,更清晰的git日志。
BTW检查你是否拥有Jenkins Git plugin的最新版本(过去他们有issues)。
答案 1 :(得分:-3)
您所描述的问题是您最终会在git历史记录中提交额外的提交。
如果用户A和用户B正在进行需要最终合并的更改,那么,一旦合并,您的git历史记录应该显示用户A和用户B的更改的SHA。
如果我在userC合并了userB的更改后检查历史记录,那么我真的不希望看到额外的 git提交告诉我userC已经合并了userB的提交 - 后者已经出现在git历史中。
如果在git历史记录中记录了userC的合并 ,它将如何记录?差异会是什么样的?
我认为您描述的场景中的问题是,在合并注意到合并错误时,userC没有给予足够的重视。好的软件并不排除需要有能力的开发人员。