So, let's say you have a detached branch with some change already done and you want to push those changes to master branch. How do you do that?

First, you let soak the changes in a brand new branch with whatever the name you want. I call it `detached`:

git branch detached

Move the HEAD with checkout:

git checkout detached

Now, all your changes are safe in the new local branch. So we can hop on the master branch and merge (or rebase) the previous branch with it:

git checkout master
git merge detached

Done! Now you have your changes on master and you can push them to the remote repo, if you are ready.