all i use:
git add . && git status
git diff --cached | mate
git commit -am "this is what i did"
git push
and when it hits the fan... git reset --hard