Git 的 bisect 辅助工具透过加速辨识坏的递交,节约了天数和心力。
你呢有过这种的历经:辨认出标识符 严重错误bug,但不晓得那个严重错误是甚么这时候导入的。这有可能将原因在于,某一人递交了这份有严重错误的标识符,但没在他的 Git 递交commit 最新消息中新闻稿它。那个严重错误可能将早已存有了数周、两个月即使一两年,这意味著你须要搜寻上千或上千个递交,就可以找出难题何时能再次出现的。而
git bisect
指示能轻松地化解这个难题!git bisect
指示是两个强悍的辅助工具。你能给
git bisect
指示两个覆盖范围,另一端是两个未知的好状况,另一侧是两个未知的坏状况。它会手动地证实现阶段覆盖范围的交叉点,在那个交叉点上展开试验,接着要求你确认那场递交是两个 好递交good commit 却是两个 坏递交bad commit,接着它会多次重复这一“湖肚搜寻”的操作过程,直至你找出首度导入严重错误的那一场递交。那个“微积分”辅助工具是借助“湖肚搜寻”来找出严重错误含意的。
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/