Diff между локальным и удаленным репозиторием git?
git config --global alias.in '!git remote update -p; git log ..@{u}'
git config --global alias.out 'log @{u}..'

будут комманды git in (что придет), git out (что пушнется)
1. stackoverflow.com/questions/231211/using-git-how-do-i-find-modified-files-between-local-and-remote
по 2: можно посмотреть логи. По ссылке об этом тоже говорится.