Add bisect snippets
This commit is contained in:
29
snippets/automatic-find-commit-with-bug.md
Normal file
29
snippets/automatic-find-commit-with-bug.md
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
---
|
||||||
|
title: Automatically find the commit that introduced a bug
|
||||||
|
tags: commit,branch,advanced
|
||||||
|
---
|
||||||
|
|
||||||
|
Uses a binary search algorithm and a given script to find which commit in history introduced a bug.
|
||||||
|
|
||||||
|
- Use `git bisect start` to start the process.
|
||||||
|
- Use `git bisect good <commit>` to mark a `<commit>` as "good", indicating it is known to be bug-free.
|
||||||
|
- Use `git bisect bad <commit>` to mark a different `<commit>` as "bad" indicating it has the bug.
|
||||||
|
- Use `git bisect run <command>` to run the given `<command>` on each subsequent commit to find which commit introduce the bug.
|
||||||
|
- Use `git bisect reset` to reset to the original branch. You can optionally specify a `<commit>` to reset to.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git bisect start
|
||||||
|
git bisect good <commit>
|
||||||
|
git bisect bad <commit>
|
||||||
|
git bisect run <command>
|
||||||
|
git bisect reset [<commit>]
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git bisect start
|
||||||
|
git bisect good 3050fc0de
|
||||||
|
git bisect bad c191f90c7
|
||||||
|
git bisect run npm test # Run `npm test` for each commit
|
||||||
|
# ... some time later the bad commit will be printed
|
||||||
|
git bisect reset # Goes to the original branch
|
||||||
|
```
|
||||||
30
snippets/manual-find-commit-with-bug.md
Normal file
30
snippets/manual-find-commit-with-bug.md
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
---
|
||||||
|
title: Manually find the commit that introduced a bug
|
||||||
|
tags: commit,branch,advanced
|
||||||
|
---
|
||||||
|
|
||||||
|
Uses a binary search algorithm to manually find which commit in history introduced a bug.
|
||||||
|
|
||||||
|
- Use `git bisect start` to start the process.
|
||||||
|
- Use `git bisect good <commit>` to mark a `<commit>` as "good", indicating it is known to be bug-free.
|
||||||
|
- Use `git bisect bad <commit>` to mark a different `<commit>` as "bad" indicating it has the bug.
|
||||||
|
- Use `git bisect (bad | good)` marking each subsequent commit as "good" or "bad" depending if it has the bug or not.
|
||||||
|
- Use `git bisect reset` to reset to the original branch. You can optionally specify a `<commit>` to reset to.
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git bisect start
|
||||||
|
git bisect good <commit>
|
||||||
|
git bisect bad <commit>
|
||||||
|
git bisect (bad | good)
|
||||||
|
git bisect reset [<commit>]
|
||||||
|
```
|
||||||
|
|
||||||
|
```sh
|
||||||
|
git bisect start
|
||||||
|
git bisect good 3050fc0de
|
||||||
|
git bisect bad c191f90c7
|
||||||
|
git bisect good # Current commit is good
|
||||||
|
git bisect bad # Current commit is buggy
|
||||||
|
# ... some time later the bad commit will be printed
|
||||||
|
git bisect reset # Goes to the original branch
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user