Git 有什么奇技淫巧?

git bisect

有没有过写了一天的代码,checkin无数,结果突然发现之前没注意的地方break的时候?

这个时候要在茫茫commits里寻找那个错误的commit是多么的痛苦啊。`git-bisect`就是大救星!

git-bisect本质上就是一个二分法,用起来也很简单:

git bisect start        #start
git bisect bad          #current branch is bad
git bisect good <SHA-1> #some old commit that is good

然后只要不停的告诉git当前commit是不是好的,

git bisect good

或者

git bisect bad

就能找到罪魁祸首了!

就是先执行git bisect start之后,先告诉git当前的版本是坏的即执行git bisect bad,在告诉git哪一个commit是好的(git bisect good commitid),git会开始进行查找,通过二分查找的方法不停的切换到相应的commit上,然后在这个commit上运行代码测试看有没有问题(在自己的项目中测试),如果有问题,回到命令行告诉git这个commit是有问题或者没有问题的,即执行git bisect good/bad,这样就对这个commit做了个标记,git会告诉你第一次出现错误的时哪一个commit,这些都是测试,不用担心会影响文件,最后在执行git bisect reset就回归正常了,通过之前的测试,你就知道第一次出现错误是在哪一次commit上了,然后直接定位到那一次的commit中找出错的地方

作者:大Kk
链接:https://www.zhihu.com/question/27462267/answer/36765271
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值