git config --global alias.checkoutr checkout
$EDITOR /usr/local/share/zsh/site-functions/git-completion.bash
...and then modify the file as follows...
-__gitcomp_nl "$(__git_refs '' $track)"
+if [ "$command" = "checkoutr" ]; then
+ __gitcomp_nl "$(__git_refs '' $track)"
+else
+ __gitcomp_nl "$(__git_heads '' $track)"
+fi
... and source your shell (source ~/.bashrc
/ source ~/.zshrc
...).
Use git checkoutr
for the default behavior and git checkout
(or just gco
) for browsing only local branches. Credits to http://cmetcalfe.ca/blog/git-checkout-autocomplete-local-branches-only.html.
To get this working on zsh, you might need to get https://github.com/git/git/blob/master/contrib/completion/git-completion.zsh, follow the instructions in the comments to setup a link to
git-completion.bash
, then edit the latter file according to the instructions aboveNote that the
$track
variable has now been renamed to$dwim