Developers use Git as they please from whatever I have seen and I am not quite sure what's the best way to remove your uncommitted local changes. Stashing works very well for me as well, but I have sometimes applied the wrong stash and got conflicts, which is when hard reset comes to the rescue. Hard reset only if you're ok with losing your local uncommitted changes, though.