git pull is an alias for git fetch && git merge you cannot fetch from local branches (only from remotes) - actually you don’t need to, if your intention is to merge master into local_branch, just use git merge master when you are on local_branch.
merge changes from local_branch TO master:
git checkout master
git merge local_branch
merge changes from master TO local_branch:
git checkout local_branch
git merge master
git checkout -b <new_local_branch_name> <remote_branch_name>
e.g.
git checkout -b my_local_branch origin/branch_A
When the new branch gets created, its up-stream has also been setup.
And now we can pull, push…