Недавно я перешел с 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
инициализации.