Genuine question: what's wrong with executing 'git pull' on a branch you haven't changed locally?
As you say it's bad practice and shouldn't happen. I use gitlab and GitHub where branches can be protected to only allow merges via their web interfaces.
I'm not aware that GitHub offers the same functionality.
I am not well versed in working with git over ssh, but after following the instructions on GitLab to generate a key, then git would keep showing me the RSA finger print which doesn't match the one provided on the website. After looking around a bit, it looks like the one listed is ECDSA.
tl;dr: It was late. Finger prints didn't match. Only logical assumption was NSA. :P (Not really, obviously, but the finger prints could be more clear.)
At least that is what the docs say: http://git-scm.com/docs/git-pull
What am I missing?
if you run merge/rebase/etc on its own, it will tell and ask you about anything out of the ordinary and then there's no surprise.
again, it's all about avoiding errors on the rare cases because you developed dangerous finger memory.
though i have to use git at work daily. github to add insult...
my finger memory is now on git. and that's where git "wins". the chance that you will be forced to use it and learn the awful laundry list of steps to properly use it (hint, if you ever type "pull" you are doing it wrong) you get your finger memory and then curse when you have to use the simple and more intuitive solutions. damn dumb fingers.