53

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.

Gabor Marton
  • 687
  • 1
  • 6
  • 8

4 Answers4

89

You can remove an alias simply using:

$ unalias gcm
ssssteffff
  • 2,389
  • 16
  • 17
  • 1
    will this unalias it forever or only for this session? – meteors Apr 25 '15 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 '15 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. – Lukas Juhrich Mar 12 '20 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"
Kamil Maciorowski
  • 69,815
  • 22
  • 136
  • 202
Ollie Murphy
  • 211
  • 2
  • 2
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

1UC1F3R616
  • 111
  • 1
0

If you want to remove all alias defined

unalias -m '*'
davesnx
  • 101
  • 1