Статус локального репо в git
Чтобы узнать что еще не запушено (для ветки develop):
git log origin/develop..

Чтобы узнать все что еще не запушано во всех ветках:
git log --branches --decorate --not --remotes=origin
# или поменьше воды, побольше инфы:
# git log --branches --decorate --not --remotes=origin --name-status --oneline

Чтобы узнать что еще не скачано (для ветки develop):
git fetch
git log ..origin/develop
# или поменьше воды, побольше инфы:
# git log ..origin/develop --name-status --oneline

Для простоты можно создать себе алиасы git in / git out:
git config --global alias.in '!git remote update -p; git log ..@{u}'
git config --global alias.out 'log @{u}..'

@{u} — (только в git 1.7+) переменная ссылающаяся на удаленную ветку для текущей ветки
Если *nix/mac можно притулить github.com/djl/vcprompt в PS$ и будет показываться что-то типо такого, в текущей директории



видно сразу какая система контроля версий, текущий бранч и там ещё несколько полезных параметров формата вывода…