1. git status doesn't need to be run manually, https://github.com/woefe/git-prompt.zsh
2. I dislike aliases because they only work locally and not anywhere else which will be just confusing and especially when confusing when dealing with an emergency on non-local. It also makes sharing workflows harder. So I'd rather not use any.
3. On the other hand, I override git reset to commit before destroying work to save my own bacon. Oh and I added git cd which I guess contradicts #2 but oh well :) -- it's also not an alias -- and, to be fair, I use it somewhat rarely and it's not really a git command -- I could've named it cd-git-relative or something. Anyways here it is: https://gist.github.com/chx/d4e30aaf8e3d9a6fccad9e89bb8d73b8