Bird
Raised Fist0
Gitdevops~5 mins

Recovering deleted branches in Git - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What is the first step to recover a deleted branch in Git?
Use git reflog to find the commit hash where the branch was last pointing before deletion.
Click to reveal answer
beginner
How do you recreate a deleted branch once you have the commit hash?
Run git branch <branch-name> <commit-hash> to restore the branch at the commit.
Click to reveal answer
beginner
What command shows a log of all recent Git actions including branch deletions?
git reflog shows a history of HEAD changes, including branch deletions and checkouts.
Click to reveal answer
intermediate
Can you recover a deleted branch if you don't know the commit hash?
Yes, by using git reflog you can find the commit hash from recent HEAD movements.
Click to reveal answer
advanced
What happens if you try to recover a branch that was deleted a long time ago and reflog is expired?
If reflog entries are expired or garbage collected, recovery might not be possible unless you have backups or remote copies.
Click to reveal answer
Which Git command helps you find the commit hash of a deleted branch?
Agit reflog
Bgit status
Cgit branch -d
Dgit log --oneline
How do you restore a deleted branch named 'feature' at commit abc123?
Agit checkout feature abc123
Bgit branch feature abc123
Cgit restore feature abc123
Dgit reset feature abc123
What does git reflog show?
ACurrent branch status
BAll commits in the repo
CHistory of HEAD changes including branch deletions
DRemote branches
If a branch was deleted a long time ago and reflog is cleared, what is a possible recovery option?
AUse <code>git branch -f</code>
BUse <code>git stash</code>
CRun <code>git clean</code>
DCheck remote repositories or backups
What is the safest way to avoid losing branches accidentally?
APush branches to remote repositories regularly
BDelete branches often
CNever commit changes
DUse <code>git reset --hard</code> frequently
Explain the steps to recover a deleted Git branch using reflog.
Think about how Git tracks HEAD changes and how to create a branch at a specific commit.
You got /3 concepts.
    What are the limitations of recovering deleted branches in Git?
    Consider what happens if Git cleans up old history or if no backups exist.
    You got /4 concepts.

      Practice

      (1/5)
      1. What is the primary Git command used to find the commit hash of a recently deleted branch?
      easy
      A. git reflog
      B. git branch -d
      C. git reset --hard
      D. git merge

      Solution

      1. Step 1: Understand the purpose of git reflog

        git reflog records all changes to the HEAD, including deleted branches.
      2. Step 2: Identify the command that shows commit history including deleted refs

        git reflog lets you find the commit hash of the deleted branch.
      3. Final Answer:

        git reflog -> Option A
      4. Quick Check:

        Find deleted branch commit = git reflog [OK]
      Hint: Use git reflog to find lost commits fast [OK]
      Common Mistakes:
      • Confusing git branch -d as recovery command
      • Using git reset --hard which discards changes
      • Thinking git merge recovers deleted branches
      2. Which of the following commands correctly recreates a deleted branch named feature1 from a commit hash abc1234 and switches to it?
      easy
      A. git checkout -b feature1 abc1234
      B. git reset feature1 abc1234
      C. git branch feature1 abc1234
      D. git checkout abc1234 feature1

      Solution

      1. Step 1: Understand the syntax to create a branch at a commit

        The correct syntax is git checkout -b [branch] [commit] to create and switch.
      2. Step 2: Identify the correct command

        git checkout -b feature1 abc1234 creates branch feature1 at commit abc1234.
      3. Final Answer:

        git checkout -b feature1 abc1234 -> Option A
      4. Quick Check:

        Create branch at commit = git checkout -b branch commit [OK]
      Hint: Use git checkout -b branch commit to restore branch [OK]
      Common Mistakes:
      • Using git checkout commit branch without -b
      • Using git reset which does not create branches
      • Using git branch without switching
      3. After deleting a branch bugfix, you run git reflog and see this entry:
      abc1234 HEAD@{2}: checkout: moving from bugfix to main

      Which command will correctly restore the bugfix branch at that commit?
      medium
      A. git checkout bugfix
      B. git branch -d bugfix abc1234
      C. git reset --hard abc1234
      D. git checkout -b bugfix abc1234

      Solution

      1. Step 1: Identify commit hash from reflog

        The commit hash abc1234 is where bugfix was last checked out.
      2. Step 2: Use command to recreate branch at that commit

        git checkout -b bugfix abc1234 creates and switches to bugfix at that commit.
      3. Final Answer:

        git checkout -b bugfix abc1234 -> Option D
      4. Quick Check:

        Restore branch from commit = git checkout -b branch commit [OK]
      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

      1. Step 1: Understand the error

        The error means branch feature already exists locally.
      2. Step 2: Delete existing branch to recreate

        Use git branch -D feature to force delete the existing branch, then recreate it.
      3. Final Answer:

        Delete existing branch with git branch -D feature then retry -> Option B
      4. 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

      1. Step 1: Delete any existing branch pointer named release

        Use git branch -D release to remove old or conflicting branch references.
      2. 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.
      3. Final Answer:

        git branch -D release; git checkout -b release <commit-hash> -> Option C
      4. Quick Check:

        Delete old branch then recreate at commit [OK]
      Hint: Delete old branch first, then recreate at commit [OK]
      Common Mistakes:
      • Using git checkout release when branch is deleted
      • Using git reset --hard without recreating branch
      • Using git branch release without switching
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard