I talked about how I use git. Let me talk about how I actually use it.
I have an extensive [alias]
section in my .gitconfig
. Any sufficiently frequently used command gets abbreviated to two (or occasionally three) characters.
st = status
ci = commit
co = checkout
cob = checkout -b
di = diff
amend = commit --amend
ane = commit --amend --no-edit
aa = add --all
ff = merge --ff-only
rup = remote update --prune
po = push origin
b = branch -vv
dc = diff --cached
dh1 = diff HEAD~1
So in actual day-to-day usage I’ll type g st
and g b
just reflexively, while I’m pondering where the code is at (depending on whether I’m thinking about code to stage or feature branches), and g aa && g ci
when I need to commit the current working tree verbatim, and g rup && g ff
when I need to make a local read-only branch match its upstream.
Really, the key here is to pay attention to which commands you use frequently, and enshrine them in your aliases. Also, clean out your aliases sometimes if your behaviors change and you stop using certain commands.