This is a classic "I scratched my itch, hope it helps" story. I made a Github Gist out of it.
I sometimes lose track of unpushed/uncommitted changes, across multiple projects / clients. To get a handle on this, I wrote this script called git-dirty an...