DEV Community

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

Posted on

3

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

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

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!

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay