了解Git-Bisect,即使用二进制搜索查找引入错误的更改

Git是一个强大的工具。 一旦掌握了commitmerge ,就有无限的可能。 一个非常有用的是git-bisect 。 它可以帮助您找到导致行为发生某些变化的提交。

当您找到一个回归时,曾经破坏过的东西曾经起作用 ,请使用git-bisect查找破坏它的提交。 将当前提交标记为bad ,将仍可使用该功能的旧提交标记为good 。 然后, Git-bisect将通过二进制搜索将这两个提交之间的所有更改一分为二。 在每一步中,都要求您将提交标记为goodbad直到bisect找到第一个错误提交

如何使用git-bisect
git bisect start
npm test # Double check that this commit is broken.
git bisect bad
git log --oneline # Find the hash of a good commit.
git checkout 7425633 # Checkout that good commit.
npm test # Double check that everything was green.
git bisect good

Bisect使用二进制搜索,因此范围呈指数减小。 每一步都将范围缩小一半。 如果你bisect多达两次提交,平均需要一个额外的步骤-而不是两倍。 因此,平分大范围的提交是相当快的。

Git二等分视图。 在每个步骤中,要测试的提交范围将减少一半。

我们在Node.js项目中 git-bisect使用git-bisect 。 Node.js项目具有良好的持续集成性,但是某些错误仅在发布后才发现。 使用git-bisect ,很容易找到错误的提交。

尝试一下!

如果您想尝试git-bisect ,这里是一个演示存储库 。 在某些时候,通过运行npx mocha test1.js可以看到一个错误。 你能找到错误的提交吗?

使用此存储库练习git bisect。
自动化git-bisect

您可以使用脚本运行git-bisect ,而不是手动测试每个步骤。 它将在每个步骤中使用脚本并自动标记提交,直到找到第一个错误的提交为止。

From: https://hackernoon.com/understanding-git-bisect-i-e-use-binary-search-to-find-the-change-that-introduced-a-bug-89489b4c9fa6

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值