Don't forget git clean -df, after a hard reset.
Especially when working in a team environment, it's the second step in truly resetting the file structure to your target commit.
Also, the first time pushing a branch (often, not to origin/master), be sure to define the upstream, so that it tracks that remote branch correctly.
Ex. git push -u origin [branch_name]
Now, you can git pull and git push within that branch, without experiencing unnecessary issues during the remote merge.