我们使用TeamCity进行持续集成,使用Git进行源代码控制。一般来说它的工作非常好 - 方便,现代,当测试失败时我们会快速反馈。
有一个与Git合并细节相关的奇怪行为。以下是案例的步骤:
主回购提交的历史如下:
现在让我们假设第二个开发人员在他的提交B中修复了一些失败的测试。
TeamCity将做的是:
提交A到达 - TeamCity使构建#2(没有提交B)测试栏变为红色!
TeamCity认为Pending“Merge Branch”提交不包含任何更改(任何新文件) - 但实际上它确实包含提交B的合并,因此TeamCity不希望在此处进行新的构建并使测试成为绿色。
以下是两个问题: 1.在我们的例子中,我们在第二次提交中返回的测试失败(提交A) 2. TeamCity不想进行新的构建并将测试重新设置为绿色。
有没有人知道如何解决这两个问题。
我考虑了一些合理的一般方法。
答案 0 :(得分:1)
只是添加,我强烈建议使用git pull --rebase,或者完全只是做一个git fetch,然后用git log -p ^ master origin / master做一些修改,以确定我是否还好由于其他开发人员的工作而发生的事情。在这一点上,我可以在远程更改的基础上重新设计我的工作,团队城市不会给你在这里看到的问题。这不是我为团队城市工作所做的事情,但也是工作流程的一部分,它允许更加线性的历史记录和合并冲突解决方案,如果要合并以前的合并,则不必重新访问。
HTH,
亚当
答案 1 :(得分:0)
尚未在5.0.3中修复。但它被报道为已知问题
投票支持此问题