使用 Git bisect 命令定位首次引入错误的提交|Linux 中国

2022-12-21 0 981

使用 Git bisect 命令定位首次引入错误的提交|Linux 中国

编者按:Git 的 bisect 辅助工具透过加速辨识坏的递交,节约了天数和心力。                   

责任编辑页数:2341,写作时数约:3两分钟

Git 的 bisect 辅助工具透过加速辨识坏的递交,节约了天数和心力。

你呢有过这样的历经:辨认出标识符 严重错误(bug),但不晓得那个严重错误是什么这时候导入的。这有可能将原因在于,某一人递交了这份有严重错误的标识符,但没有在他的 Git递交(commit) 最新消息中新闻稿它。那个严重错误可能将已经存有了几周、两个月即使一两年,这意味著你须要搜寻上千或上千个递交,就可以找出难题何时能再次出现的。而  指示能轻松地化解那个难题!

指示是两个强悍的辅助工具。你能给  指示两个覆盖范围,另一端是两个未知的好状况,另一侧是两个已知的坏状况。它会手动地证实现阶段覆盖范围的交叉点,在那个交叉点上展开试验,接着明确要求你确认那场递交是两个 好递交(good commit) 却是两个 坏递交(bad commit),接着它会多次重复这一“湖肚搜寻”的操作过程,直至你找出首度导入严重错误的那一场递交。

使用 Git bisect 命令定位首次引入错误的提交|Linux 中国

Image of Zenos paradox of Achilles.

那个“微积分”辅助工具是借助“湖肚搜寻”来找出严重错误含意的。 指示透过查阅交叉点,接着由你来下定决心它是递交条目的打下基础(即 “坏递交” )却是新起点(即 “好递交”),从而来增大搜寻覆盖范围,这般在数次搜寻中你能就能功能定位到有严重错误的递交。即便你有 10,000 个递交要检查和,最数只须要 13 次搜寻,就能迅速地功能定位到首度导入严重错误的递交。

1. 递交 1 坏

2. 递交 5,000 坏

3. 递交 5,000 坏

4. 递交 5,000 坏

5. 递交 5,625 坏

6. 递交 5,938 坏

7. 递交 5,938 坏

8. 递交 6,016 坏

9. 递交 6,016 坏

10. 递交 6,036 坏

11. 递交 6,046 坏

12. 递交 6,050 坏

13. 递交 6,053 坏

对于上面那个例子,我们能晓得 10,000 个递交中的第两个严重错误递交是第 6053 次递交。对于  指示,最多须要几两分钟就能完成检索。但是如果要两个两个搜寻每个递交是否严重错误,我即使无法想象须要多长天数。

采用 Git bisect 指示

 指示采用起来非常简单:

(LCTT 译注:采用  指示来进入 bisect 模式,并且该指示指定了两个检查和覆盖范围。它会告诉我们一共有多少次递交,大概须要几步就能功能定位到具体的递交。)

Git 检查和中间的递交,并等待你新闻稿这次递交是两个好递交却是两个坏递交:

(LCTT 译注:如果某一递交是能透过的,则采用  指示标记;同样地,如果某一递交不能透过,则采用  指示标记。)

接着, 辅助工具多次重复检查和好递交和坏递交中间的那场递交,直至你告诉它:

一些高级用户即使能自己编写脚本,来确认递交的好坏状况、并在找出特定递交时采取某一补救措施。你可能将不会每天都采用  指示,但当你须要它来功能定位首度导入严重错误的递交时,它会是两个很有用的救星。

LCTT 译者 :chai001125

翻译: 20.0 篇

|

贡献: 55 天

2022-10-06

2022-11-30

https://linux.cn/lctt/chai001125

欢迎遵照 CC-BY-SA 协议规定转载,

我们将为您添加白名单,授权“转载文章时能修改”。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务