I just deleted the wrong branch with some experimental changes I need with git branch -D branchName
.
How do I recover the branch?
I just deleted the wrong branch with some experimental changes I need with git branch -D branchName
.
How do I recover the branch?
Thanks, this worked.
//can see my old checked in files in my old branch
First: back up your entire directory, including the .git directory.
Second: You can use
git fsck --lost-found
to obtain the ID of the lost commits.Third: rebase or merge onto the lost commit.
Fourth: Always think twice before using -D or --force with git :)
You could also read this good discussion of how to recover from this kind of error.
EDIT: By the way, don't run
git gc
(or allow it to run by itself - i.e. don't rungit fetch
or anything similar) or you may lose your commits for ever.If you just deleted the branch, you will see something like this in your terminal:
To restore the branch, use:
for example:
If you know the last SHA1 of the branch, you can try
You can find the SHA1 using
git reflog
, described in the solution here.If you haven't push the deletion yet, you can simply do :
You can use git reflog to find the SHA1 of the last commit of the branch. From that point, you can recreate a branch using
Edit: As @seagullJS says, the
branch -D
command tells you the sha1, so if you haven't closed the terminal yet it becomes real easy. For example this deletes and then immediately restores a branch namedmaster2
: