|
@@ -0,0 +1,20 @@
|
|
|
|
+# git bisect
|
|
|
|
+
|
|
|
|
+> Use binary search to find the commit that introduced a bug.
|
|
|
|
+> Git automatically jumps back and forth in the commit graph to progressively narrow down the faulty commit.
|
|
|
|
+
|
|
|
|
+- Start a bisect session on a commit range bounded by a known buggy commit, and a known clean (typically older) one:
|
|
|
|
+
|
|
|
|
+`git bisect start {{bad_commit}} {{good_commit}}`
|
|
|
|
+
|
|
|
|
+- For each commit that `git bisect` selects, mark it as "bad" or "good" after testing it for the issue:
|
|
|
|
+
|
|
|
|
+`git bisect {{good|bad}}`
|
|
|
|
+
|
|
|
|
+- After `git bisect` pinpoints the faulty commit, end the bisect session and return to the previous branch:
|
|
|
|
+
|
|
|
|
+`git bisect reset`
|
|
|
|
+
|
|
|
|
+- Skip a commit during a bisect (e.g. one that fails the tests due to a different issue):
|
|
|
|
+
|
|
|
|
+`git bisect skip`
|