(Schwern's answer points out the issue with have 2 different locals...this answer is in addition to that answer NOT a substitute for that answer).
..........
For future readers:
Take a look at this other SOF answer:
Merge development branch with master
From that answer : it looks like it has to do with whether you "pull" the second branch. Notice there are 2 pulls in the answer above.
By doing a pull (and thus ("kinda") getting local copies of each branch)...by doing a pull on both branches, you avoid the "not something we can merge" "did you mean this?" error messages.
The "kinda" part is that you don't have distinct copies of each branch, you are using git to perform a switch-the-current-branch in the same local directory.
....
Now I am going to post here the code that I am using, but that I reasoned from the answer I include with my answer. In the below my goal is to merge develop into master.
REM below shows the branches
git branch -a
REM below shows the branch are you on
git branch
REM below does a checkout on develop
git checkout develop
REM below, now pull the "develop" branch so that it is local
git pull
REM below does a checkout on master
git checkout master
REM below, now pull the "master" branch so that it is local
git pull
REM below shows the branch are you on, a redundant check just to make sure you're on master
git branch
REM now you should be on the master branch, and the below is going to merge develop into (the branch you are already on), aka master
git merge develop
REM git push origin master
REM the below makes it REAL on the remote server
git push -u origin master