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.