One (simple*) way to handle this without branching or stashing:
- stage/commit your changes locally
- pull remote
- at this point you'll be notified of any merge conflicts. If git cannot automatically resolve merge conflicts, it will open the two versions in whatever editor you have set up as your default merge editor. I recommend BeyondCompare.
- commit your merge, push your merge and commits remote master