現在有個項目,在一天的開發中,被某個工程師引入了一個bug,取系統並發上不去,直接鎖死資料庫連線。專案使用java平台,在svn上進行版本管理。我不想一個個版本code review排查,就想到了最暴力折半版本查找法,當然,在svn上做意味著要一個個版本checkout出來,這麼大的項目,也是很費時的,這時,git-bisect是我唯一的選擇了。
首先,把svn庫匯出為git庫:
$ git svn clone -s http://svn.xxx.com/svn/xxxxx
然後,開始git bisect:
$git xxx
然後,開始git bisect:
$git xxx
然後,開始git bisect:
:
$ git bisect bad
找到前一天的版本,做了一個tag(tag20090106),測試為正確的,標記一下:
$ git bisect good tag20090106
$ git bisect good tag20090106
這版本就開始編譯,測試,如果不通過,執行:
$ git bisect bad
git會用折半方法再向前找一個中間版本,開始編譯,測試,如果通過,執行: