首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >git均分手册与git均分运行

git均分手册与git均分运行
EN

Stack Overflow用户
提问于 2020-04-13 22:07:04
回答 1查看 351关注 0票数 0

我正在学习git bisect

让我们猜猜下面的线性git历史:

代码语言:javascript
复制
* A commit-1     # HEAD
* B commit-2
* C commit-3
* D commit-4     # First bad commit
* E commit-5
* F commit-6
* G commit-7
* H commit-8     # Is good

然后,我开始二分法:

代码语言:javascript
复制
git bisect start
git bisect bad HEAD      # A commit-1
git bisect good H        # H commit-8

我有一个脚本来运行一些测试,如果我手动运行测试,并将每个提交标记为“坏”和“好”,它将遵循以下步骤:

代码语言:javascript
复制
E commit-5     # OK
C commit-3     # FAIL
D commit-4     # FAIL

因此,它最后说D commit-4是第一个坏提交,是正确的

但是,如果我使用git bisect run ../outside/test.sh,它会执行以下操作:

代码语言:javascript
复制
E commit-5     # OK
C commit-3     # FAIL
B commit-2     # FAIL
A commit-1     # FAIL

A commit-1是第一个错误提交,这是错误的

因此,如果我理解这里的二进制搜索,一旦C commit-3是坏的,那么第一个坏的提交应该是它自己或者在下面。

我在这里错过了什么?他们为什么会有不同的行为?看来git bisect run正在运行一种不同的算法。

我的git版本是:2.19.0

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-04-13 23:07:02

刚刚发现了这个问题:

我的剧本是:

代码语言:javascript
复制
#!/bin/bash

npm test
echo "STATUS: $?"

exit $?

因此,当npm start返回1时,echo语句将最新的退出代码更改为0,这是我在exit中使用的代码。

谢谢你指出script

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61197596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档