Do we really need a shell for this? If you're reusing some of these so often, why not just alias them in your bashrc? The interactive shell requires way more key-presses than any of my aliases not to mention sticking me into a shell that I need to exit out of later to get back to my development environment.
$ cat ~/.bashrc | grep git
alias gitc='git commit -a -s'
alias gitls='git log --pretty=oneline'
alias gitb='git branch'
alias gitca='git commit -a --amend'
alias gits='git status'