我正在写一个脚本,执行二进制搜索来指定破损测试的责任。我正在使用git rev-list --bisect
。如何让git rev-list --bisect跳过特定的提交?
我想排除构建被破坏的具体提交。 git bisect
有一个选项可以做到这一点,git bisect skip BROKENCOMMIT
。但是,我找不到使用git rev-list --bisect
做同样事情的等效方法。有一个吗?
谢谢!
我正在写一个脚本,执行二进制搜索来指定破损测试的责任。我正在使用git rev-list --bisect
。如何让git rev-list --bisect跳过特定的提交?
我想排除构建被破坏的具体提交。 git bisect
有一个选项可以做到这一点,git bisect skip BROKENCOMMIT
。但是,我找不到使用git rev-list --bisect
做同样事情的等效方法。有一个吗?
谢谢!
不幸的是,没有办法告诉git rev-list --bisect
跳过某些提交。
git bisect
通过创建名为refs/bisect/skip-*
的引用实现跳过。好的和坏的承诺存储在refs/bisect/bad
和refs/bisect/good-*
。该git rev-list --bisect
命令看起来refs/bisect/bad
和refs/bisect/good-*
,但由于某种神秘原因不注意refs/bisect/skip-*
。这似乎是Git邮件列表的一个好建议。
相反的rev-list --bisect
,你可以使用git bisect start --no-checkout
,使用git bisect skip
添加要跳过的提交,然后使用BISECT_HEAD
参考。这种方法的一个缺点是git bisect
不允许你指定参考名称空间,所以如果有一个现有的平分正在进行,你会覆盖它。
git rev-list提供了基于作者,提交者,日期和描述排除提交的选项。为什么哦为什么它没有一个选项来排除基于散列的提交? – dnw 2012-03-30 14:54:42
我结束了刚刚运行git rev-list,获取提交的完整列表,然后手动执行所有其他操作。 – dnw 2012-03-31 02:11:37