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.
My favorites:
lol
:log --oneline --graph --decorate
lola
:log --oneline --graph --decorate --all
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!