日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

GIT界的神探--bisect

發(fā)布時間:2023/12/19 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 GIT界的神探--bisect 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

GIT界的神探--bisect

今天我們需要使用git命令中的bisect破獲一起兇殺案,下面請看具體案件:

在一個git倉庫中有a,b,c,d,e,f,g,h,i,j,k這幾個提交,在k提交中發(fā)現(xiàn)軟件功能F是可以正常工作的,但是在最新的a提交上F已經(jīng)無法工作(被謀殺了)。

在提交數(shù)較少的情況下可以挨個reset看看,但提交數(shù)較多的情況下即使人工使用二分法查找也是相當消耗時間的。接下來看看bisect如何工作的吧。

基本用法

start, bad, good

1.git bisect start
開始使用bisect查找
2.git bisect bad HEAD
設置HEAD為已知壞版本
3.git bisect good 89d6e8347c94a26f6f60cc8eeff287ba51c6144c(k提交對應的ID)
設置k提交為已知好版本

當運行完上述三條命令后,會看到如下內容

zhangql0102@njvnc1:~/bisect$ git bisect start
zhangql0102@njvnc1:~/bisect$ git bisect bad HEAD
zhangql0102@njvnc1:~/bisect$ git bisect good 89d6e8347c94a26f6f60cc8eeff287ba51c6144c
Bisecting: 4 revisions left to test after this (roughly 2 steps)
[61c2c497a506cfeb310867e108858b882a9e86ff] f
zhangql0102@njvnc1:~/bisect$

89d6e8347c94a26f6f60cc8eeff287ba51c6144c表示k提交對應的提交ID。
接著bisect會將你的git提交reset到HEAD和k的中間版本f,此時只需要去編譯軟件驗證功能是否OK就行,如OK,輸入git bisect good,bisect會繼續(xù)將git提交reset到f和HEAD的中間版本。如功能不OK,輸入git bisect bad,bisect則會將git提交reset到f和k的中間版本。
重復上述步驟直到只剩下最后一個提交為止。

擴展用法

git bisect reset

在進行了bisect查找后git倉庫中的提交肯定不是原始提交,所以git bisect reset可以將當前倉庫恢復到開始bisect之前的提交。

git bisect reset <commit>

在進行完bisect查找后將git倉庫停留在對應的提交位置

git bisect visualize

使用gitk查看當前bisect過程中剩余的提交信息

git bisect log

查看當前使用bisect的記錄,如
git bisect start

# bad: [6d1da8180273782d049326014dc248611d7fa8f4] j
git bisect bad 6d1da8180273782d049326014dc248611d7fa8f4
# good: [89d6e8347c94a26f6f60cc8eeff287ba51c6144c] k
git bisect good 89d6e8347c94a26f6f60cc8eeff287ba51c6144c

git bisect reply

當本該運行git bisect good的卻運行成了git bisect bad,此時需要使用上面的git bisect log將歷史操作記錄保存為文件A修改文件中的操作記錄然后運行git bisect reset,最后運行git bisect reply A就可以了。

基本上掌握了以上幾種用法就可以應付了,更多更完整的用法讀者可以使用git bisect --help查看。

轉載于:https://www.cnblogs.com/zqlxtt/p/4643245.html

總結

以上是生活随笔為你收集整理的GIT界的神探--bisect的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。