将 gitflow 风格 git 存储库一分为二,中间提交中断

Bisecting over gitflow style git repository with broken intermidiate commits

在 git 流模型的 feature 分支中, 编译失败或以其他方式损坏 的中间提交是正常的。

唯一的问题是在合并到应用审查和自动测试的 develop 分支时保持稳定。

能否 git 平分 develop 分支而不破坏功能分支的中间提交?

我不喜欢将我的 bisect 测试脚本改编为 skip/workaround 功能开发中损坏的提交...

我考虑解决问题的一种方法是告诉 Git 以某种方式只遍历合并变更集...

考虑到方式(通过PRNG——伪随机数生成器),你可以考虑制作一个包装器。

包装器将:

  • 致电git bisect
  • 对于每个提交,它会仔细检查提交是否有多个单亲
  • 如果没有,它会调用 git bisect skip

这样,您的对分测试脚本将保持不变。

How do you get git bisect to ignore merged branches?" by David Ness.

中描述了解决方法

I wrote a Python script to help do this on GitHub.
If you run this script, it will try to trace backwards and follow your branch and emit a list of commit ids that are the tips of the branches that are merged into your branch.
With this list, you can give these to "git bisect good" and bisect will then omit all of the commits on the merged branches from your bisection, achieving the desired result.

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