git fetch shouldn't get mad if you don't have a clean working copy as it just updates your remote refs. git pull is probably what you meant as that also attempts to merge any changes that exist on the remotes.