bisect git 使用_git bisect命令教程

bisect git 使用_git bisect命令教程gitbisect命令教程gitbisect是一个git命令,可让您找到有问题的git提交。假设您在代码库中遇到了一个错误,并且不确定何时引入该错误。如果您可以找到某次代码可以正常工作的提交,而不可以找到代码无法正常工作的提交,则不必手动一次一次查找有问题的提交;使用git-bisect可以快速定位到错误的提交。gitbisect原理gitbisect的原理是使用折半查找算法来查找引入问题…

大家好,欢迎来到IT知识分享网。

git bisect命令教程

git bisect是一个git命令,可让您找到有问题的git提交。假设您在代码库中遇到了一个错误,并且不确定何时引入该错误。如果您可以找到某次代码可以正常工作的提交,而不可以找到代码无法正常工作的提交,则不必手动一次一次查找有问题的提交;使用git-bisect可以快速定位到错误的提交。

git bisect原理

git bisect的原理是使用折半查找算法来查找引入问题的提交,加快查找的效率。git bisect有两种工作模式,一种是手动模式,一种是自动化模式。

bisect git 使用_git bisect命令教程

手动模式

git将开始将修订分为两半,并为您加载它们。它将checkout每个修订,然后询问您提交的好坏。您回答git bisect good或,git bisect bad而git将负责其余的工作。它将使用二进制搜索来快速缩小有问题的提交的范围。

# start up git bisect

git bisect start

# give git a commit where there is not a bug

git bisect good a09c728

# give git a commit where there is a bug

git bisect bad b6a0692

您在“好”和“坏的提交”之间进行的修订数量将确定此过程需要花费多长时间,但与单独检出每个提交相比,它仍将更快。

自动化

使用bisect手动查找错误很快的,但我们也可以将其自动化。您可以将任何脚本传递给git bisect,并让它针对修订列表中的每个提交检查该脚本。脚本失败时应以非零返回状态结束。您的测试套件已经这样做了,因此,如果测试失败,这很容易。

# get it ready

git bisect start

git bisect good c09c728

git bisect bad e6a0692

# give git a command to run against each commit

git bisect run rspec spec/features/my_broken_spec.rb

与以前一样,只有git才能为您处理整个过程。它将checkout每个提交,运行命令并记录其响应。在几分钟之内,git将向您显示令人出问题的的提交。

5.0

01

Post Views:

222

Tags:git, 工具, 开发

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/12003.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信