My favorite is git h
, which produces a nicely summarized log of commits on the current branch, with some highlighting and relative dates:
[alias]
h = log --graph --abbrev-commit --date=relative --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset'
What’s your favorite Git alias?
Found one on “another site”:
I occasionally fat finger the git add command:
$ git dad . git: 'dad' is not a git command. See 'git --help'. Did you mean this? add
So today I fixed it:
$ git config --global alias.dad '!curl https://icanhazdadjoke.com/ && git add'
And now my clumsy typing is rewarded with comedic gold:
$ git dad . I used to hate facial hair, but then it grew on me.
Since git’s aliasing system passes any parameters on to the underlying command, your git add operation completes normally and you get a bonus dad joke.
I love this and am absolutely stealing it.
This is basically
sl
but for git.
git config --global alias.git '!git'
Now if you dogit git status
by mistake you won’t get an error lol. I believe this is the most universally useful and unopinionated alias.The
!
makes it treat it as a shell command instead of a git command. Then because it is git it just basically runs the remainder as a git command lol.Love it. I might also do
igt
(as inid-jit
), which is what I call myself when I typo that.And
gti
. Apparently one cannotpush
a Golf GTI from command line.Would you commit a car?!?!
I don’t think so. One would need to download it first.
You can’t stop me!
My favorites:
lol
:log --oneline --graph --decorate
lola
:log --oneline --graph --decorate --all
The aliases I use the most are these:
st = status co = checkout lg = log --color --graph --date=short --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cd) %C(bold blue)<%an>%Creset' --abbrev-commit
I see that my
lg
is almost identical to yourh
. I didn’t write mine either.I have some other aliases (mostly for
log
) but I rarely use them.At this point, I don’t even remember what the
h
stood for, my brain just knows which fingers to move to do the thing to see the history. 🤦“history” maybe? Same here, it’s mostly muscle memory. When I temporarily have to work on a different PC without my aliases, I feel like everything is in slow motion :)
That makes sense.
Looking for a repo somewhere with a messy history to demo my
git h
alias and what it can show. Not having much luck.Also, I should point out I’m not the originator of this one. I borrowed it from a former coworker years and years and years ago.