My first experience with a distributed SCM systems was Mercurial. Running hg branch created a new branch and automatically switched you over to it.

When I moved to Git, I occasionally fell into the trap of typing git branch and expecting to change over to the new branch. I fell for this quite often for a long time, for several years at least. It was happening frequently enough that I actually hacked Git to tell me that I haven’t actually changed branches yet:

$ git branch xyz-123
Branch 'xyz-123' created, but you're still on 'develop'

I’m using OhMyZSH now, which shows the current branch in the prompt. This has helped a great deal, and I fall for this much less often than I used to.

And yes, I know about git checkout -b, but typing checkout to create branches was a bigger change to me than simply learning that git branch doesn’t change branches.