54

I have an alias which is predefined by an oh-my-zsh plugin. -> % alias gcm gcm='git checkout master' I'd like to remove it, i.e. I'd like alias | pcregrep "\bgcm\b" return 1. I've tried with alias gcm='' but after that the alias is still existent.

4 Answers 4

92

You can remove an alias simply using:

$ unalias gcm
3
  • 1
    will this unalias it forever or only for this session?
    – meteors
    Apr 25, 2015 at 12:41
  • 1
    @meteors Each session starts with no aliases, then they get created via your scripts - so, it depends on what you have in them.
    – nomadcoder
    Jul 26, 2015 at 10:04
  • 1
    Note that if you have a global alias, you need to quote the alias name like so: unalias 'gcm'. Otherwise, the alias is getting expanded before executing the unalias command. Mar 12, 2020 at 16:27
11

This other answer is correct but if you're adding the unalias gcm line to your .zshrc file, it must be done AFTER oh-my-zsh is sourced, or else it will be overwritten by the zsh defaults.

It would look something like the below in your .zshrc file:

source $ZSH/oh-my-zsh.sh

# must unalias all ZSH defaults here AFTER we source the above
unalias gcm
alias gcm="whatever you want"
1
  • 2
    Since the last alias wins by default, the unalias line in this example is superfluous.
    – nietonfir
    Jun 3, 2022 at 12:27
1

For removing git aliases in zsh git plugin you can comment them out in ~/.oh-my-zsh/plugins/git/git.plugin.zsh which is default installation location for git plugin

0

If you want to remove all alias defined

unalias -m '*'

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .