When I work on git repositories by myself, there is no reason to ever pull before pushing. 

When I work with others, it is recommended that I perform a pull before attempting to push-- well, either a pull, or a checkout, and then get the changes merged in.  

Either way, I can not push by normal means, until I am up-to-date with the master, so it is a good habit to pull before pushing everytime(so I've been told).  

90% of the time I pull, it's either already up-to-date or a fast-forward.

Is there a `git push`-like command that automatically does a `pull` first, and only halts the push when there are actual merge conflicts?

I suppose I could make an alias, but I wanted to first check if there was an already built-in command for it.