I'm constantly surprised how most people settle with single-line autocompletion (or no autocompletion) in the shell. _The_ plugin that helped me learn shell and be super productive is Auto-fu: https://github.com/HerringtonDarkholme/auto-fu.zsh (forked from https://github.com/hchbaw/auto-fu.zsh)
BAM, autocomplete menu in your shell.
The setup isn't straightforward; I've written a small guide here: https://gist.github.com/chenglou/03505022bc4598fcb80e523f868...
I struggled with git when I first used it. But when you have an autocomplete menu giving you the right commands and sub-commands at each turn it's pretty hard _not_ to learn git (the default porcelain anyway).
Seriously, why am I defending a good autocomplete in the shell, go try it =)