Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Restore Merged Branch in Bitbucket Repo

Help! I need to recover a branch. I've been using git with the Bitbucket UI to try and simplify things, but missed a checked checkbox...

What I did:

I created a pull request and merged my feature branch into the dev branch, closing the feature branch (desired outcome).

I then created a pull request and merged my dev branch into the staging branch (desired), but I missed that the checkbox was still marked to "close branch on merge", which happened (not desired).

What I want:

I would like to roll back the merge so that I have a dev branch with the feature branch merged into it (with all its commit history, etc). I don't care if the staging branch is dev-branch-less, or not, I don't mind creating the pull request and merging them correctly again if necessary. Is it possible to recover the dev branch with its history now that it has been closed?

like image 861
Austerly Avatar asked Feb 18 '16 18:02

Austerly


2 Answers

Is it possible to recover the dev branch with its history now that it has been closed?

If you still have the branch locally - simply use it, push the local branches to the remote and merge the feature branch into it if you need to.


In case you don't have any of those branches.

What to do?

Read this answer and learn how to use reflog to recover your branches. [How to move HEAD back to a previous location? (Detached head)

Another option is to checkout the merged branch and to split it into the desired commits using the checkout command - again full details in the above answer.

Another option is to checkout the base branch and use cherry-pick to select the range of commits you need.

like image 92
CodeWizard Avatar answered Oct 20 '22 06:10

CodeWizard


All you need to do is push the dev branch from local machine and it will create a new origin/dev branch on BitBucket. No need to create a new pull request.

like image 45
tejasbubane Avatar answered Oct 20 '22 04:10

tejasbubane