How to use Git stashes as a temporary storage
Tags: video, git, podcast
Published: 2018-10-16 20:34:06

---
title: How to use Git stashes as a temporary storage
canonical_url: https://zellwk.com/blog/git-stash
podcast: e3387cdc
tags: video, git, podcast
description: Git stashes can be used to temporarily store code you don't want to commit. This video shows you how to create and apply Git Stashes. 
published: true
---

{% youtube pmpGsPDPLrI %}

Let's say you're coding on your development branch. And you get a notice that there's a bug on 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 they're 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. **


<div class="jsCkClone" data-should-not-clone></div>

## 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: 

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

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

<figure>
  <img src="https://zellwk.com/images/2018/git-stash/stash-button.png" alt="The stash button">
</figure>

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". 

<figure>
  <img src="https://zellwk.com/images/2018/git-stash/stash-name.png" alt="Naming the stash">
</figure>

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

<figure>
  <img src="https://zellwk.com/images/2018/git-stash/stash-sidebar.png" alt="The stash can be found in the sidebar">
</figure>

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. 

<figure>
  <img src="https://zellwk.com/images/2018/git-stash/apply-stash.png" alt="Applying a stash">
</figure>

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. 

<figure>
  <img src="https://zellwk.com/images/2018/git-stash/apply-stash-2.png" alt="Deleting the applied stash">
</figure>

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

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

## Wrapping up 

Stashes are temporary storages where you can store you 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!

<hr>

Thanks for reading. This article was originally posted on [my blog](https://zellwk.com/blog/git-stash). Sign up for [my newsletter](https://zellwk.com) if you want more articles to help you become a better frontend developer.