Here are two different questions but I think they are related.
When using Git, how do I find which changes I have committed locally, but haven\'t yet pushed
Not a full answer but git fetch will pull the remote repo and not do a merge. You can then do a
git diff master origin/master