They changed the branch structure, there will be no 4.6 branch, its now in the release branch using a tag marking where the different released versions are in the history.
Im really not good at it, but maybe it hints you where to look or how to do it.
Oh and there is a free book about git.
I’d go with a merge. Rebasing is another possibility.
http://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging
git checkout -b local-4.6-testmerge // create a new branch so you can destroy everything and start over if its beyond repair
git merge release // try merging in all changes to the engine since you started working till top of the release branch, what is 4.6
Then you are going to solve all the merge conflicts that probably come up. Look in the book above it how thats done. When that is done, you execute Setup.bat to download the new dependencies and then you try to build your new engine. Id guess now you are getting build errors because the APIs changed, so resolve them too.
If that all succeeded and your engine behaves and runs, you can checkout the original branch you probably created to develop, merge in the branch created above and delete the temporary one. Or just continue to use branch for development.