There are two ways to create custom git aliases:
1. Using the Command Line Interface.
2. Directly editing the git config files.
We will have a look on both methods.
Via the Command Line Interface (CLI)
For instance, git status
can be shortened into git s
:
git config --global alias.s status
Note: in this example, we are configuring a git alias so git status
and git s
will be equivalent. Therefore, git status
and git s
will return the same output.
Editing one of the three git config files
.git/config
(at your git local repository level)~/.gitconfig
(global)~/.config/git/config
(global)
Just add the following lines within the file, e.g. using vim
or nano
:
[alias]
s = status
Notes:
- If you only edit the git config file at your local repository level, the alias will only be accessible within your current git project.
- If you set-up the alias at one of the global git config file, the alias will be usable across your overall local environment.
List all the alias you have defined
alias = "!git config -l | grep alias | cut -c 7-"
Note: the exclamation mark tells git
that everything within the quotes will be a bash script, therefore it will gives us access to the usual bash commands like grep
or cut
.
Example of git aliases
Here is a couple of aliases you might find useful to replicate in your configuration:
[alias]
c=commit
cm=commit -m
s=status
sw=switch
a=add
alias=!git config -l | grep alias | cut -c 7-
cam=commit -am
lo=log --oneline
sc=switch -c
rsm=rm -r --cached
asm=submodule add
reinit=!git submodule update --init --recursive && git submodule update --remote
Why using git aliases
It simply makes your life easier since you do not have to type long commands anymore. You can simply call them using a shorter name.
After you have typed the same command again and again 10+ a day, you will start to love git aliases.
Did I hear someone say that software developers are lazy? 😈