WalzoneInterview Prep
📞 Interviewing soon? Practice with a realistic AI mock phone interview — it calls you, then scores you. First 15 min FREE →

Git · Intermediate · question 25 of 100

How do you use ’git bisect’ to find a specific commit that introduced a bug?

📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

In Git, the git bisect command is a useful tool for identifying the commit that introduced a bug or regression. The git bisect command works by performing a binary search on the commit history, allowing you to quickly narrow down the commit that introduced the bug.

Here’s how to use git bisect to find a specific commit that introduced a bug:

Start by checking out a known good commit, usually the latest stable release or a commit that you know does not contain the bug.

    # Checkout a known good commit
    git checkout <good-commit>

Start the bisect process using the git bisect start command.

    # Start the bisect process
    git bisect start

Mark the current commit as "bad" by running the git bisect bad command.

    # Mark the current commit as "bad"
    git bisect bad

Mark an older commit as "good" by running the git bisect good command. This should be a commit that you know does not contain the bug.

    # Mark an older commit as "good"
    git bisect good <older-good-commit>

Git will automatically checkout a new commit in between the "good" and "bad" commits, and prompt you to test the code and determine whether the bug is present or not. Mark the commit as "good" or "bad" using the git bisect good or git bisect bad command, respectively.

    # Test the code and mark the commit as "good" or "bad"
    git bisect good   # if the code works as expected
    git bisect bad    # if the bug is present

Repeat step 5 until Git has identified the specific commit that introduced the bug. Once Git has identified the commit, it will print out the commit hash and information about the commit.

    # Repeat step 5 until Git has identified the commit that introduced the bug
    git bisect good/bad

# Once the commit has been identified, Git will print out the commit hash and information

Finish the bisect process using the git bisect reset command to return to the original state.

    # Finish the bisect process
    git bisect reset

In summary, the git bisect command is a powerful tool for identifying the commit that introduced a bug or regression in Git. By performing a binary search on the commit history, git bisect allows you to quickly narrow down the commit that introduced the bug, and can save you a lot of time and effort in the debugging process.

Reading is step one. Saying it out loud is the interview. Our AI interviewer calls your phone and runs a realistic Git interview — then scores it.
📞 Practice Git — free 15 min
📕 Buy this interview preparation book: 100 Git questions & answers — PDF + EPUB for $5

All 100 Git questions · All topics