DEV Community

Cover image for πŸ•΅οΈβ€β™‚οΈ Learn git alias and boost your productivity

πŸ•΅οΈβ€β™‚οΈ Learn git alias and boost your productivity

Leonardo Montini on October 22, 2022

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 ...
Collapse
 
mfurquimdev profile image
Mateus Furquim

I do have an alias that I use often. I call it git ld, which is short for git log diverged.

git config --global alias.ld "log --oneline --graph --decorate main $(git branch | grep "\*" | cut -d " " -f 2) $(git merge-base main $(git branch | grep "\*" | cut -d " " -f 2))^\!"
Enter fullscreen mode Exit fullscreen mode

Suppose your git flow consists of creating a branch from main, implementing some features, and merging it back to main.

In this scenario, you want to know if your branch has diverged from main.

Let's say git log shows something like this:

$ git log --oneline --graph --decorate --all
* c36d102 (main) New commit on main
| * f5003c8 (HEAD -> develop) New commit on develop
|/
* c484b40 Where it has diverged
* ec3124d Initial commit
Enter fullscreen mode Exit fullscreen mode

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:

$ git ld
* c36d102 (main) New commit on main
| * f5003c8 (HEAD -> develop) New commit on develop
|/
* c484b40 Where it has diverged
Enter fullscreen mode Exit fullscreen mode

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.

Collapse
 
balastrong profile image
Leonardo Montini

Looks really useful, thanks for sharing!

Collapse
 
puppo profile image
Luca Del Puppo

I have seen these aliases before 😜

Collapse
 
balastrong profile image
Leonardo Montini

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! πŸ˜‰

Collapse
 
puppo profile image
Luca Del Puppo

If you wanna new ideas for your content or you wanna help with something you know where I am! πŸ™‚

Collapse
 
yogeshktm profile image
yogeshwaran

Read about aliases before and never tried using in real time.

After reading this article have to try this immediately :)

Collapse
 
balastrong profile image
Leonardo Montini • Edited

Let's go! πŸš€

Let me know how it goes or if you find some aliases you enoy particularly :P

Collapse
 
jonathanpwheat profile image
Jonathan Wheat • Edited

I create shell aliases for everything (lazier or more efficient? you decide haha)
For example, created the alias glg for git lg

Collapse
 
balastrong profile image
Leonardo Montini

Basically something like this:

alias meme

Collapse
 
peterwitham profile image
Peter Witham

Thank you, I normally create my Git aliases in my shell config, I never knew you could put them in Git configuration.
Thanks.

Collapse
 
balastrong profile image
Leonardo Montini

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

Collapse
 
rabeehco profile image
Rabeeh Ebrahim

Thank you for this helpful tip. I am going to save a lot of time πŸ˜‰

Collapse
 
yuridevat profile image
Julia πŸ‘©πŸ»β€πŸ’» GDE

Nice, thanks for sharing.