DEV Community

Cover image for A Powerful Git Trick No One Knows About
Pawel Kadluczka
Pawel Kadluczka

Posted on

A Powerful Git Trick No One Knows About

Here is a Git trick I learned a long time ago that I can’t live without (and when I say no one knows about it, I mean it - it is not well documented, and no developers I have worked with knew about it):

Some git commands take - (dash) as the reference to the previous branch.

git checkout and git merge are two commands I use it with all the time.

git checkout - switches to the previous branch. This makes toggling between the two most recently used branches quick and super easy:

git merge - merges the previous branch to the current branch. It is especially powerful when combined with git checkout -. You can switch to the target branch and then merge from the previous branch like this:

One command I wish supported - is git branch -d. It would make cleaning branches after merging effortless. Presumably, this option is not available to prevent accidentally deleting the wrong branches.

Bonus trick

While we are at it - did you know that the cd (change directory) shell command also supports -? You can use cd - to toggle between the two most recent directories.


💙 If you liked this article...

I publish a weekly newsletter for software engineers who want to grow their careers. I share mistakes I’ve made and lessons I’ve learned over the past 20 years as a software engineer.

Sign up here to get my articles delivered to your inbox.

https://www.growingdev.net/


Attribution: Git Logo by Jason Long, source: https://git-scm.com/downloads/logos

Top comments (2)

Collapse
 
ccoveille profile image
Christophe Colombier

Hi,

I also use the - a lot since I found it years ago

what you are looking for deleting previous branch is this syntax

git branch -d @{-1}

I set up an alias for it.

Collapse
 
moozzyk profile image
Pawel Kadluczka

This is great! I didn't know you could refer to branches using the @{-n} syntax.

Thanks for sharing!