将 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
。
在 git 流模型的 feature
分支中, 编译失败或以其他方式损坏 的中间提交是正常的。
唯一的问题是在合并到应用审查和自动测试的 develop
分支时保持稳定。
能否 git 平分 develop
分支而不破坏功能分支的中间提交?
我不喜欢将我的 bisect 测试脚本改编为 skip/workaround 功能开发中损坏的提交...
我考虑解决问题的一种方法是告诉 Git 以某种方式只遍历合并变更集...
考虑到方式
包装器将:
- 致电
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
。