我想查看目前 src/api.js 这段改动是在哪个commit 引入
}).catch(err => {
reject(err)
})
查看 这个文件的提交历史有几十次,正好是使用 git bisect 合适场景
但是我只想要git bisect看这个文件(不然git要查的commit太多了),可以通过指定目录
git bisect start -- src/api/
当前版本是有问题,所以接着输入 git bisect bad
起点版本是对的,输入 git bisect good 577ff56
有了起点和终点,git 就会通过二分法自动checkout 中间一个commit,然后我们就逐次查看api.js文件每次checkout结果内容对不对,引入这个改动就是 git bisect bad
没引入就是git bisect good
这样执行几次就能很快找到哪个commit引入的,找到后 在 git bisect reset重置 HEAD指针就好了。
整个执行过程如下
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect start -- src/api/
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect bad
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect good 577ff56
/* 以上三条命令也可以合并成一条 git bisect start HEAD 577ff56 -- src/api */
Bisecting: 15 revisions left to test after this (roughly 4 steps)
[9c3f6342e3fce9a9b3fdb81bd0b94c13f26ce80b] '改api.js统一字段header'
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect bad
Bisecting: 6 revisions left to test after this (roughly 3 steps)
[fb9e2c44a3e86e4b3117581263a1c33d660faf32] '1.数据总览弹窗交互功能2.数据总览展示项交互功能'
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect good
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[1b78c9f6f6bfe58cf13509e47ce43d374a407530] add
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect good
Bisecting: 1 revision left to test after this (roughly 1 step)
[3c39e80e302425c1112bbb27391d25149eadf362] add
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect good
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[0f741426536de86659ec580cef3636a3a4ee91e9] add
qiulangs-MacBook-Pro:cc-frontend qiulang$ git bisect reset