2023-05-16 · Git
用 git bisect 找出弄壞程式的那個 commit
把兩天的追查變成五分鐘,用二分法搜尋自己的提交歷史。
前言
先示範手動 bisect 的操作流程,再用腳本或 git bisect run 自動化,讓機器幫你按按鈕。
現場筆記
在處理 Git 問題的過程中,反覆看到的幾個模式:
- 簡單的版本撐過了每次重構,聰明的版本沒有。
- 邊做邊寫的文件,比事後補寫的耐用得多。
- 同一個問題第二次出現時,它就已經是模式了——幫它命名吧。
可以直接抄的檢查清單
- 問題可以用一行指令重現。
- 修正附帶一個沒有它就會失敗的測試。
- 作者本人以外的人也在自己的機器上跑過。
結語
寫下未來的自己真的會讀的短版本——這就是全部的訣竅。