Fetch and reset (hard) rather than pull.

This approach allows rewritten history when deploying. This came up while working on development branches/environments where I'd clean history prior to merging. This ensures your server-side deploy is an exact mirror of the history/state of your git branch (of course, prior to migration actions).