Hint: Use reflog commit hash with git checkout -b [OK]
Common Mistakes:
Using git branch -d which deletes branches
Using git reset --hard which resets HEAD but not branches
Trying git checkout bugfix without recreating branch
4. You tried to recover a deleted branch using git checkout -b feature abc123 but got an error: fatal: A branch named 'feature' already exists. What is the best way to fix this?
medium
A. Use git checkout feature to switch to the existing branch
B. Delete the existing branch first with git branch -D feature then retry
C. Use git branch -b feature abc123 instead
D. Rename the commit hash to a new one
Solution
Step 1: Understand the error
The error means branch feature already exists locally.
Step 2: Delete existing branch to recreate
Use git branch -D feature to force delete the existing branch, then recreate it.
Final Answer:
Delete existing branch with git branch -D feature then retry -> Option B
Quick Check:
Delete conflicting branch before recreate [OK]
Hint: Delete existing branch with -D before recreating [OK]
Common Mistakes:
Trying git branch -b which is invalid syntax
Ignoring the existing branch and forcing checkout
Renaming commit hash which is not possible
5. You accidentally deleted a branch release and want to recover it. You run git reflog and find multiple commits related to release. Which sequence of commands correctly recovers the branch at the latest commit and deletes the old branch pointer?
hard
A. git checkout -b release
B. git checkout release; git reset --hard
C. git branch -D release; git checkout -b release
D. git branch release
Solution
Step 1: Delete any existing branch pointer named release
Use git branch -D release to remove old or conflicting branch references.
Step 2: Create a new branch release at the desired commit
Use git checkout -b release <commit-hash> to recreate and switch to the branch at the correct commit.