How to restore a deleted branch

Still need help?

The Atlassian Community is here for you.

Ask the community

Problem

You accidentally deleted a branch in your Git repository.

Resolution

Make sure to perform all of this locally, and confirm your repo is in the state you desire before pushing to Bitbucket Cloud. It may also be a good idea to clone your current repo, and test these solutions out first.

 

  1.  If you just deleted the branch, you'll see something like this in your terminal:

    Deleted branch <your-branch> (was <sha>)
  2. To restore the branch, use: 

    git checkout -b <branch> <sha>

If you don't know the 'sha' off the top of your head, you can:

  1. Find the 'sha' for the commit at the tip of your deleted branch using

    git reflog
  2. To restore the branch, use: 

    git checkout -b <branch> <sha>

If your commits are not in your reflog:

  1. You can try recovering a branch by reseting your branch to the sha of the commit found using a command like: 

    git fsck --full --no-reflogs --unreachable --lost-found | grep commit | cut -d\  -f3 | xargs -n 1 git log -n 1 --pretty=oneline > .git/lost-found.txt

     

  2. You can then display each commit using one of these: 

    git log -p <commit>
    git cat-file -p <commit>

 

 

Last modified on Feb 26, 2016

Was this helpful?

Yes
No
Provide feedback about this article
Powered by Confluence and Scroll Viewport.