用破坏的中间提交对gitflow风格的git存储库进行二等分

时间:2017-02-24 22:59:53

标签: git git-bisect

在gitflow模型的feature分支中进行无法以其他方式编译或中断的中间提交是正常的。

只有在合并到develop分支点时才能保持稳定,并且应用了审核和自动测试。

可以在develop分支上进行git bisect,而不会遇到来自功能分支的破坏的中间提交吗?

我不喜欢调整我的bisect测试程序来跳过/解决功能开发中的破坏提交......

我认为解决问题的一种方法是告诉Git以某种方式仅在合并变更集中行走......

1 个答案:

答案 0 :(得分:1)

考虑git bisect pick the next commit to examine的方式(通过PRNG - 伪随机数生成器),你可以考虑制作一个包装器。

那个包装器会:

  • 致电git bisect
  • 对于每次提交,它将仔细检查提交是否具有多个父级
  • 如果没有,则会调用always

这样,您的bisect测试脚本保持不变。

" How do you get git bisect to ignore merged branches?"中描述了一种解决方法。 David Ness

  

我写了Python script to help do this on GitHub   如果您运行此脚本,它将尝试向后跟踪并跟踪您的分支并发出提交ID列表,这些提交ID是合并到您的分支中的分支的提示。
  通过此列表,您可以将这些内容提供给" git bisect skip"然后,bisect将从您的二分中省略合并分支上的所有提交,从而获得所需的结果。

这可能不完全是你的情况,但这个想法仍然存在:计算你不想要的提交列表,并将它们提供给git bisect good