How to use Git stash as temporary storage

Zell Liew
Zell Liew
Oct 22, 2018 · 3 min read

Let’s say you’re coding on your development branch. And you get a notice that there’s a bug in the production branch.

You want to check for the bug, but you don’t want to lose the work you’ve created on the development branch. You also don’t want to commit what you’ve written because it’s not done yet.

What do you do? You can’t commit and you can’t switch branches. If you switch branches, things that aren’t committed will flow over to the branch you switched to.

What you want to do is save the changes somewhere temporary while you switch over to another branch. A Git stash is that temporary storage.

Using a Stash with Git Fork

To use a stash, you need to start with some uncommitted code. For this lesson, we’re going to use the following piece of code as the uncommitted changes:

<!-- Some uncommitted code in index.html --><main>
<p> A new paragraph</p>
</main>

To stash this code, you can click on the stash button.

Once you click on the stash button, Fork will ask you to leave a message. This message indicates what the stash is about.

Since stashes are temporary, you can use whatever name you want. We’re going to call it “Temp storage”.

Once you create a new stash, you’ll find it in the Stashes section on the sidebar.

Note: You won’t be able to see the changes in this stash, but that’s not a problem because you won’t have to. What you want to do is switch your branch, finish what you need to do and switch back.

In this case, we’re going to check out to the master branch. When you do so, notice you don’t see the uncommitted code we wrote above in both the master and develop branches.

Applying stashed changes

You can go back to the branch you were at, then right-click on your stash and select Apply stash.

Fork will ask you whether to delete the stash when you do so. I usually delete the stash because I don’t want to keep more than one stash at one time.

Once you apply the stash, you’ll be able to see the changes you made.

<!-- You'll see your uncommitted code again! --><main>
<p> A new paragraph</p>
</main>

Wrapping up

Stashes are temporary storage spaces where you can store your code. When you’ve stored your code, you can move to other branches to do something else.

When you’re done, you can put your code back from the stash.

With Git Stash, you won’t have to worry about losing any uncommitted changes!

Thanks for reading. Did this article help you in any way? If you did, I hope you consider sharing it. You might help someone out. Thank you!

This article was originally posted at zellwk.com.
Sign up for my newsletter if you want more articles to help you become a better front-end developer.

We’ve moved to freeCodeCamp.org/news

We’ve moved to https://freecodecamp.org/news and publish tons of tutorials each week. See you there.

Medium is an open platform where 170 million readers come to find insightful and dynamic thinking. Here, expert and undiscovered voices alike dive into the heart of any topic and bring new ideas to the surface. Learn more

Follow the writers, publications, and topics that matter to you, and you’ll see them on your homepage and in your inbox. Explore

If you have a story to tell, knowledge to share, or a perspective to offer — welcome home. It’s easy and free to post your thinking on any topic. Write on Medium

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store