Git如何帮你查原因

    xiaoxiao2021-03-26  22

    不久前,一位同事为Git的出错,感到烦恼,查找问题的方式非常原始,对于乐于敲命令行的我来说,这哪是一个程序员的所作所为呢!接下来就来说说,怎么高效的查找Git提交出现代码问题的原因。

    使用【Bisect命令】,是不是很陌生呢。其还是很强大的,先来说一下原理吧!其基于二分查找算法,大概是这样的:如果你想在有 n 个元素的序列(有序的)中查找元素 x,你挑出第 n/2 个元素并将其与元素 x 比较。如果 x 大,那么就对从 n/2+1 到 n 的子序列重复上述步骤,反之,就对从 1 到 n/2-1 的子序列重复上述步骤, 这样一直递归下去。其效率是变态的高效。

    我们来演示一个完整的操作流程

    //先确定范围 git bisect bad //一般都是当前HEAD是坏提交【sha1】 git bisect good a794f9bd96f06b57b4c10433e4d6abb3f0855749 //上面的步骤就是确定范围的,接下来就是回答git的问题,他指定的提交点是好的还是坏的 git bisect good//如果是坏的,就bad,直到你找到哪个提交点导致出现问题 //查看维护日志 git bisect log //完成操作后,要回切到工作分支上 git branch git bisect reset git branch

    还有一种场景就是想知道某一行代码是提交的,可以找他麻烦。好,直接上演示

    git blame -L [起始行数],[文件名]

    更多技术相关的和话题请关注公众微信号【APPZone】 私下交流请关注的新浪微博@迹_Jason

    转载请注明原文地址: https://ju.6miu.com/read-350127.html

    最新回复(0)