git rebase -i [commit id]^ not working on zsh and it is working fine on bash.
That's because you have the extended_glob option enabled, which makes zsh interpret ^, * and some other character symbols as globbing flags: basically, zsh interprets you want files, so it's probably giving you a no matches found error.
To disable that behavior for git (and other commands that use these symbols) you can put the word noglob before the command, or wrap the symbols within quotes: noglob git rebase -i [commit id]^ or git rebase -i '[commit id]^'.
You can also make a git alias with noglob to avoid having to do the above each time you use git: alias git='noglob git'.
Most helpful comment
That's because you have the
extended_globoption enabled, which makes zsh interpret^,*and some other character symbols as globbing flags: basically, zsh interprets you want files, so it's probably giving you ano matches founderror.To disable that behavior for
git(and other commands that use these symbols) you can put the wordnoglobbefore the command, or wrap the symbols within quotes:noglob git rebase -i [commit id]^orgit rebase -i '[commit id]^'.You can also make a git alias with
noglobto avoid having to do the above each time you use git:alias git='noglob git'.