我最近從 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