0

我正在尝试使用git bisect. 我的好承诺是

commit 7ce16e99296de1d559e7317adac6bc13a727ae2b
Author: ...
Date:   Tue Jun 22 14:52:54 2021 +0800

我的错误承诺是

commit 8acb2b2ed0eb1576e7961149bde27cb1568ec39e
Author: ...
Date:   Mon Sep 27 13:50:37 2021 +0800

所以我认为当 git bisect 启动时,它会在 2021 年 6 月 22 日到 2021 年 9 月 27 日之间给我一个提交。

然而,它给了我一个相当老的

commit 2f3971bcae715839ee8d2aea837a4bf4ce31c815
Merge: 2d32bba 5777bb6
Author: ...
Date:   Tue Dec 8 11:25:04 2020 +0800

我认为这可能是因为一些合并问题,但为什么,以及如何解决这个问题?

4

1 回答 1

1

这是因为修订的作者日期可能早于修订被引入分支的时间。2个简单的场景:

  1. 该提交是很久以前在功能分支中开发的。它被合并到您正在分析的两个修订之间的分支中,您正在二等分。在这种情况下,git 会注意到问题来自被一分为二的 2 个修订之间的合并修订,并将继续遵循该分支,因此日期较旧。

  2. 该修订版是很久以前开发的……它被精心挑选(或重新定位)到您要平分的 2 个修订版之间的分支中。修订介于 2 个修订之间....但作者日期不会介于修订的 2 个日期之间。

于 2021-10-09T17:58:28.170 回答