Git bisect

最近很少有这种突然眼前一亮的时候,今天有点例外。凑着光棍节的热闹,来介绍一下Git bisect。

事情是这样的,S同学下班之前做了一个commit,break了pipeline。等我们发现的时候已经是n个小时之后,也不知道是哪个commit出的问题。这是一个很常见的问题,常见的做法就是git log然后一个个去checkout。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 bisect good

或者

git bisect bad

来告诉git这个commit是否是好的,n个回合之后,就能找出罪魁祸首了。

p2 finished!

整了两周整出这么个破玩意儿!

git with colors

git config –global color.diff auto
git config –global color.status auto
git config –global color.branch auto