Git allows you to create aliases for many common operations, making it easier to remember and execute them. As far as customization goes, this is one of the most powerful features Git offers, allowing you to create shortcuts for complex commands or to make your workflow more efficient.
Creating aliases
Simply running git config --global alias.<alias> <command>
will create an alias for the specified command. The alias can then be used in place of the command when running Git commands. If your command contains spaces, you can wrap it in quotes.
# Syntax: git config --global alias.<alias> <command>
git config --global alias.co checkout
# Creates an alias `co` for the `checkout` command
git config --global alias.cm "commit -m"
# Creates an alias `cm` for the `commit -m` command
Alternatively, you can edit the configuration file and add multiple aliases all at once. This can be the more practical solution for adding more complex commands, as you don't have to worry about escaping special characters.
# Syntax: git config --global -e
git config --global -e
# Opens the global git configuration file in the default git text editor
Useful aliases
Below you can find a list of aliases I've found personally useful for increasing productivity when working with Git. Feel free to use them as they are or modify them to suit your needs.
[alias]
co = checkout
cob = checkout -b
coo = !git fetch && git checkout
br = branch
brd = branch -d
st = status
aa = add -A .
unstage = reset --soft HEAD^
cm = commit -m
amend = commit --amend -m
fix = commit --fixup
undo = reset HEAD~1
rv = revert
cp = cherry-pick
pu = !git push origin `git branch --show-current`
fush = push -f
mg = merge --no-ff
rb = rebase
rbc = rebase --continue
rba = rebase --abort
rbs = rebase --skip
rom = !git fetch && git rebase -i origin/master --autosquash
save = stash push
pop = stash pop
apply = stash apply
rl = reflog