^_^
I don't quite understand what pull exactly does.
But, I know "pull = fetch + merge" in generally.
In my opinion, pull is a little complex and the result is not always what I want.
So, in my daily work, I use fetch command, then look into log and do what I really need.
(Thus, I am not annoyed by those questions.)
If you really want to pull single branch, such as master:
1. checkout master branch
2. use the "Arbitrary URL" in Pull dialog. (Please see attached file.)
If you really need the answers for your questions, let me know.
I will try to find them out. :)
Yue Lin Ho