Setting up an Alias
Repeating the same git commands over and over again can be such a waste of time! And some of the most powerful ones are usually quite long and impossible to memorize.
Thatβs why aliases have been introduced!
Setting up an alias is really simple, just open up a terminal and type
git config --global alias.[commandName] [long command]
For example: git config --global alias.st 'status'
In this case, if I call git st
, it will give me the result of git status
.
Ok, this was easy, but what about long commands such as this one?
log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit
You donβt want to write it every single time, right?
Just run this:
git config βglobal alias.lg "log --color --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit"
And you never have to remember this long command again!
Look at how cool and colorful this log is, by just using git lg
:
Understanding Aliases
If with these two examples you agree with me that aliases are cool, let me give you some more information you should have, in order to use aliases mindfully. Later on, Iβll also share with you a list of other smart aliases you might find useful.
You can find everything in the video down below, where I also show:
- How to easily edit aliases without setting them from terminal
- How to use the bang operator
!
(aka exclamation mark) - How this this weird syntax is useful:
"!f(){ [some commands here] }; f"
- A list of cool aliases to set up for you
See aliases in action
You can watch the video on YouTube, or directly here from the embedded player:
If you have some cool aliases to share, feel free to drop them here in a comment, thank you!
Thanks for reading this post, I hope you found it interesting!
Do you like my content? You might consider subscribing to my YouTube channel!
You can find it here:
Feel free to follow me to get notified when new articles are out ;)
Top comments (13)
I do have an alias that I use often. I call it
git ld
, which is short for git log diverged.Suppose your git flow consists of creating a branch from
main
, implementing some features, and merging it back tomain
.In this scenario, you want to know if your branch has diverged from
main
.Let's say
git log
shows something like this:This output might be alright for few commits, but if there are more than a dozen, it starts getting polluted. The output of
git ld
is this:OBS: I took most of this code from a StackOverflow answer that I cannot find. If I do find, I will edit to include the source.
Looks really useful, thanks for sharing!
I have seen these aliases before π
Yep, talking with you the other day gave me the idea for making this video aaaand I may or may not have borrowed an alias or two from the ones you showed me :D
Actually, most of the ideas for videos and articles come directly from chatting with colleagues and friends, so, thank you! π
If you wanna new ideas for your content or you wanna help with something you know where I am! π
Read about aliases before and never tried using in real time.
After reading this article have to try this immediately :)
Let's go! π
Let me know how it goes or if you find some aliases you enoy particularly :P
I create shell aliases for everything (lazier or more efficient? you decide haha)
For example, created the alias
glg
forgit lg
Basically something like this:
Thank you, I normally create my Git aliases in my shell config, I never knew you could put them in Git configuration.
Thanks.
Glad to hear you found my video useful
!
Thank you so much for letting me know and enjoy your new fast way of editing aliases :D
Thank you for this helpful tip. I am going to save a lot of time π
Nice, thanks for sharing.