Often I wake up in the morning and think "I worked on a bunch of stuff yesterday. Did I commit all my changes?". Today I automated the "git status dance" by putting this function in my bashrc.
It finds all repos below the current dir and displays the ones that have changes.
showAllReposWithChanges() {
for n in `find -name .git`
do (
cd ${n/%.git/}
if [ "$(git status --porcelain)" ]
then echo $PWD
fi
)
done
}