Git bisect 命令帮助定位首次引入错误的提交

2022-12-28 0 328

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

Git bisect 命令帮助定位首次引入错误的提交

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

git bisect

指示能轻松地化解这个难题!

git bisect

指示是两个强悍的辅助工具。你能给

git bisect

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

Git bisect 命令帮助定位首次引入错误的提交

那个“微积分”辅助工具是借助“湖肚搜寻”来找出严重错误含意的。

git bisect

指示透过查阅交叉点,接着由你来下定决心它是递交条目的打下基础(即 “坏递交” )却是新起点(即 “好递交”),从而来增大搜寻覆盖范围,这般在数次搜寻中你能就能功能定位到有严重错误的提交。即便你有 10,000 个递交要检查和,最数只须要 13 次搜寻,就能迅速地功能定位到首度导入严重错误的递交。递交 1 坏 <> 递交 10,000 好 => 递交 5,000 是坏的递交 5,000 坏 <> 递交 10,000 好 => 递交 7,500 是好的递交 5,000 坏 <> 递交 7,500 好 => 递交 6,250 是好的递交 5,000 坏 <> 递交 6,250 好 => 递交 5,625 是坏的递交 5,625 坏 <> 递交 6,250 好 => 递交 5,938 是坏的递交 5,938 坏 <> 递交 6,250 好 => 递交 6,094 是好的递交 5,938 坏 <> 递交 6,094 好 => 递交 6,016 是坏的递交 6,016 坏 <> 递交 6,094 好 => 递交 6,055 是好的递交 6,016 坏 <> 递交 6,055 好 => 递交 6,036 是坏的递交 6,036 坏 <> 递交 6,055 好 => 递交 6,046 是坏的递交 6,046 坏 <> 递交 6,055 好 => 递交 6,050 是坏的递交 6,050 坏 <> 递交 6,055 好 => 递交 6,053 是好的递交 6,053 坏 <> 递交 6,055 好 => 递交 6,054 是好的

对于上面那个例子,我们能晓得 10,000 个递交中的第两个严重错误递交是第 6053 次递交。对于

git bisect

指示,最多须要几分钟就能完成检索。但是如果要两个两个搜寻每个递交是否严重错误,我即使无法想象须要多长天数。

使用 Git bisect 指示

git bisect

指示使用起来非常简单:

(LCTT 译注:使用

git bisect start

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

$ git bisect start$ git bisect bad # Git assumes you mean HEAD by default$ git bisect good

# specify a tag or commit ID for

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

(LCTT 译注:如果某一递交是能透过的,则使用

git bisect good

指示标记;同样地,如果某一递交不能透过,则使用

git bisect bad

指示标记。)

$ git bisect good

$ git bisect bad

接着,

git bisect

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

$ git bisect reset

一些高级用户即使能自己编写脚本,来确认递交的好坏状况、并在找出特定递交时采取某一补救措施。你可能将不会每天都使用

git bisect

指示,但当你须要它来功能定位首度导入严重错误的递交时,它会是两个很有用的救星。原文来自:https://www.51cto.com/article/741231.html本文地址:https://www.linuxprobe.com/git-bisect-commit.html编辑:清蒸github,审核员:逄增宝Linux指示大全:https://www.linuxcool.com/Linux系统大全:https://www.linuxdown.com/红帽认证RHCE考试心得:https://www.rhce.net/

Git bisect 命令帮助定位首次引入错误的提交

相关文章

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

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