Proper definition and usage of Git aliases.
Links:
How to set a regular Git alias (note the need for quotes with multi-word values):
$ git config --global alias.a add $ git config --global alias.cm commit $ git config --global alias.co checkout $ git config --global alias.b branch $ git config --global alias.cb "checkout -b"
after which you can use Git commands like:
$ git a Makefile $ git cm $ git cb newbranch
You can also define Git aliases in terms of other Git aliases:
$ git config --global alias.bl blame $ git config --global alias.bm 'bl Makefile"
after which you could run the equivalent of git blame Makefile with:
$ git bm
What ends up in your ~/.gitconfig file:
...
[alias]
a = add
cm = commit
co = checkout
b = blame
cb = checkout -b
bm = b Makefile
...
$ git config --global --unset alias.blm
or just edit the .gitconfig file.
$ git alias bu "!git rev-parse --abbrev-ref --symbolic-full-name "@{u}""
The shell command being run does not have to be git.