大家好,欢迎来到IT知识分享网。
git bisect命令教程
git bisect是一个git命令,可让您找到有问题的git提交。假设您在代码库中遇到了一个错误,并且不确定何时引入该错误。如果您可以找到某次代码可以正常工作的提交,而不可以找到代码无法正常工作的提交,则不必手动一次一次查找有问题的提交;使用git-bisect可以快速定位到错误的提交。
git bisect原理
git bisect的原理是使用折半查找算法来查找引入问题的提交,加快查找的效率。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