Currently auto complete removes your current word and starts a tab complete session from the beginning of the suggestion list. This should instead only rotate through the suggestions that begin with what has currently been typed.
E.g. if you return these suggestions:
return new [] { "show", "status", "blame", "checkout", "branch" };
and you type:
> git b<TAB>
it should only provide only the following auto completions:
> git blame
> git branch