Skip to content
Ink & Bytes
Go back

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

$ 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

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

$ 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 staged

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


Share this post on:

Previous Post
Terminal Tools Every Developer Needs in 2026
Next Post
Building a Blog with Notion as Your CMS