LOADING
417 words
2 minutes
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~1

The Ones I Use Most#

git s — Compact Status#

Terminal window
$ git s
## main...origin/main
M src/components/Header.astro
?? src/content/blog/new-post.md

The -sb flag gives you branch info and short format. No noise, just what changed.

git l — Quick Log#

Terminal window
$ git l
a1b2c3d Add dark mode toggle
e4f5g6h Fix header alignment
i7j8k9l Update dependencies

Twenty 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:

Terminal window
$ 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#

Terminal window
$ git undo
# Undoes the last commit but keeps all changes staged

Made a typo in the commit message? Forgot to add a file? git undo is your safety net.

git pf — Safe Force Push#

Terminal window
$ git pf
# push --force-with-lease
# Force pushes BUT fails if someone else pushed first

Never 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.

Git Aliases That Save Hours Every Week
/twilight/posts/git-aliases-that-save-hours/
Author
Twilight
Published at
2026-03-12
License
CC BY-NC-SA 4.0

Some information may be outdated