My Favorite Git Aliases
If you’re like me, you like to find patterns in your work and turn them into aliases and shortcuts in the terminal. I thought I’d share with you my current Git aliases, explaining a few along the way.
For starters, you’ll want to add these aliases to your .gitconfig
file.
[alias]
br = branch
brm = branch --merged
brnm = branch --no-merged
ci = commit
co = checkout
copl = "!f() { git checkout $1 && git pull --rebase origin $1; }; f"
df = diff
lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
mg = merge
st = status
plo = pull --rebase origin
pho = push origin
plod = pull --rebase origin dev
phod = push origin dev
plos = pull --rebase origin stage
phos = push origin stage
plom = pull --rebase origin master
phom = push origin master
reaper-nokill = remote prune --dry-run origin
reaper = remote prune origin
Most of these aliases are self explanatory, but let’s go through some of the less common ones.
brm
Using the branch --merged
command will give you a list of branches merged into the branch you’re currently on. It’s counterpart branch --no-merged
does exactly the opposite. These commands are great for cleaning up merged branches.
copl
This is a function that takes a branch name for an argument. It first checks out that branch, and then runs a git pull --rebase
on that branch. I found myself constantly checking out a branch and pulling it immediately, so I turned it into one alias.
lg
This is a prettier log format. It will actually create the branch structure in the terminal.
reaper
Sometimes you need your local git to forget about remote branches that no longer exist. This is where pruning comes into play. When I first wrote this alias, it was repr
for “remote prune”. Phonetically, that sounded like “reaper” and given that I’m slashing branches from git, it seemed appropriate to rename the alias after our friendly harbinger of death.
So there you have it. Hope this Git aliases help you out. Leave some of your favorites in the comments below.