I prefer to pull as I dislike the idea of working on live codebases -- BUT local testing often doesn't line up with what a live copy spits out when running due to server differences, so I would actually say both.
Though as a rule of thumb I don't like version control software and avoid it, I prefer dealing with environments where you have a project manager that does their flipping job! the past decade and a half as VCS has been thrown at EVERYTHING I've watched far too many codebases get tanked by it thanks to the lack of direct communication between the people working on things, lack of oversight, and lack of any real chain of command.
I'm not saying it shouldn't be used or doesn't have a place, but unless you have a benevolent dictator sitting atop things riding herd, far FAR too often it can be as bad if not worse than going without.