我最近从 bash 转到了 zsh。一切都很棒,我喜欢它!只是我的一些旧别名变得混乱了。我有一长串这样的别名,我刚刚将它们全部迁移.bash_profile
到.zshrc
:
alias grc="git rebase --continue"
alias gpu="git pull"
alias gac="git commit -am "
alias gbD="git branch -D"
alias gcm="git commit -m "
alias gA="git add -A"
alias gC="git checkout"
alias ga="git add"
alias gd="git diff"
alias gm="git merge"
alias gr="git rebase"
alias gc="git commit"
alias gb="git branch"
alias gs="git status"
alias gp="git push"
问题是,一些三字母别名(例如)gcm
会混淆,因为它们以另一个两字母别名作为前缀。这在 bash 上没有问题,但 zsh 似乎会混淆,因此当我尝试时,gcm "My commit message"
我收到类似这样的错误error: pathspec 'My commit message' did not match any file(s) known to git
。
我尝试过更改别名的定义顺序,但并没有解决问题。有什么办法吗?我在这个配置上投入了大约十年的肌肉记忆……
答案1
好的,事实证明git
,默认情况下启用的插件指定了它自己的一组冲突的别名。它似乎没有做我感兴趣的其他任何事情,所以我禁用了它,现在一切正常。
或者确保在初始化.zshrc
之后定义自定义别名。oh-my-zsh