Git Aliases That Save Hours Every Week
If you use git daily, you’re probably typing the same 5-10 commands hundreds of times a week. Git aliases fix that.
Setup
Add these to your ~/.gitconfig under [alias]:
[alias]
# Status & info
s = status -sb
l = log --oneline -20
ll = log --oneline --graph --all -30
# Staging
a = add
aa = add -A
ap = add -p
# Commits
c = commit
cm = commit -m
ca = commit --amend --no-edit
cam = commit --amend
# Branches
co = checkout
cb = checkout -b
bd = branch -d
bD = branch -D
# Push & pull
p = push
pf = push --force-with-lease
pl = pull --rebase
# Diff
d = diff
ds = diff --staged
dn = diff --name-only
# Stash
st = stash
stp = stash pop
stl = stash list
# Reset
unstage = reset HEAD --
undo = reset --soft HEAD~1The Ones I Use Most
git s — Compact Status
$ git s
## main...origin/main
M src/components/Header.astro
?? src/content/blog/new-post.mdThe -sb flag gives you branch info and short format. No noise, just what changed.
git l — Quick Log
$ git l
a1b2c3d Add dark mode toggle
e4f5g6h Fix header alignment
i7j8k9l Update dependenciesTwenty commits, one line each. Enough to orient yourself without scrolling.
git ap — Patch Add
The most underused git command. git add -p lets you stage individual chunks within a file:
$ git ap
# Shows each change and asks:
# Stage this hunk [y,n,q,a,d,s,e,?]?This is how you make clean, focused commits instead of “fixed stuff” commits.
git undo — Soft Reset
$ git undo
# Undoes the last commit but keeps all changes stagedMade a typo in the commit message? Forgot to add a file? git undo is your safety net.
git pf — Safe Force Push
$ git pf
# push --force-with-lease
# Force pushes BUT fails if someone else pushed firstNever use --force. Always use --force-with-lease. It prevents you from overwriting a teammate’s work.
Shell Aliases (Even Faster)
For commands you run 50+ times a day, add shell aliases too:
# ~/.zshrc
alias g="git"
alias gs="git s"
alias gc="git cm"
alias gp="git p"
alias gl="git l"
alias gd="git d"
alias ga="git aa"Now gs shows status, gc "message" commits, gp pushes. Three characters per command.
The Compound Effect
These aliases save maybe 2-3 seconds per command. But over 100+ git operations per day, that’s 5 minutes. Over a year, that’s 30+ hours — plus the cognitive load reduction of not remembering long flags.
Start with s, l, cm, and undo. Add more as you feel friction. Your future self will thank you.