How to Drop a Git Stash?


Have you ever found yourself in a situation where you have made progress on a specific branch and need to switch over to another branch immediately? If the answer is yes, this is where Git Stash comes into play. Git Stash is a powerful feature that allows developers to temporarily store changes that they have made, without needing to commit them.

It's perfect for situations where developers need to change branches or work on other tasks, but don't want to lose their progress. Importantly, it enables users to return later and pick up right where they left off.

Definition of Git Stash

Git stash is a command in Git that allows the user to save changes that are not yet ready to be committed. It is basically a way to create temporary commits without creating a new branch.

This feature is useful when working on a particular feature but need to switch to another branch before committing the changes. The stashed changes can be reapplied later once you switch back to the original branch.

Reasons for Dropping a Git Stash

Accidentally stashing changes

One of the most common reasons for dropping a Git stash is because you accidentally stashed changes that were not intended to be stashed. This can happen if you forget to add specific files to the commit or if you accidentally hit the wrong command in your terminal.

Accidentally stashing changes can cause confusion and make it difficult to locate where changes are made, especially if too much time has passed since the stash was created. In this case, it is important to drop the stash and start fresh with any needed updates.

Unneeded stashes taking up space

Another reason for dropping a Git stash is due to unneeded stashes taking up space and causing clutter in your repository. When making frequent commits, it's easy to accumulate many unused stashes over time, which can take up valuable disk space on your computer.

Dropping old and unnecessary stashes can help streamline your repository, making it easier to navigate through past commits and simplify future merges. It's important to note that while dropping a Git stash can provide several benefits, it should always be done with caution.

Be sure to double-check that you have selected the correct stash before deleting any data permanently from your repository. Additionally, consider creating backups of any important data before proceeding with any major changes within your repository.

Steps to Drop a Git Stash

When it comes to dropping a Git Stash, the process is quite straightforward. There are three main steps involved in this process, which we will discuss in detail below.

List all available stashes using `git stash list`

The first step involved in dropping a Git Stash is to identify the stash you want to remove. You can do this by listing all the available stashes using the `git stash list` command. This will display a list of all the stashes you have created so far, along with their names and reference numbers.

Identify the stash to drop using the stash reference number or name

Once you have identified the stash you want to remove from the list, you need to specify its name or reference number. You can do this by using either one of them as an argument with the `git stash drop` command.

For example, if you want to drop a stash named "my-stash", you can use the following command −

git stash drop my-stash  

Alternatively, if you want to remove a specific reference number such as 2, use −

git stash drop 2  

Drop the stash using `git stash drop [stash reference number or name]`

The final step involved in dropping a Git Stash is simply executing the `git stash drop` command followed by either its name or reference number as an argument. This will permanently delete that particular Git Stash from your repository. It is important to note that once a Git Stash has been dropped, it cannot be recovered.

Therefore, it is always recommended that before removing any particular Git Stash from your repository, ensure that it's not important for future use. Overall, Dropping a Git Stash involves only three simple steps, which can be easily accomplished by anyone with basic knowledge of Git.

Alternative Ways to Drop a Git Stash

Clear all stashes at once using git stash clear

If you want to delete all your stashes at once, you can use the `git stash clear` command. This is useful if you have many stashes that you no longer need and want to free up space.

Note that this command will delete all of your saved stashes permanently, and there is no way to recover them after using this command. Therefore, make sure that you only use this command when you are sure that none of the stashed changes are needed anymore.

Apply and drop a specific stash using git stash pop [stash reference number or name]

If you want to apply the changes from a specific stash and remove it from the list of available stashes, you can use the `git stash pop` command followed by a reference number or name for the desired stash. This will apply all changes in the specified stash onto your working directory, and then remove it from the list of available stashes.

Note that unlike `git stash drop`, `git stash pop` applies the changes directly onto your working directory rather than creating a new commit. This means that if there are conflicts between the applied changes and changes on your current branch, they must be resolved manually before continuing work on your project.

Precautions When Dropping a Git Stash

Before dropping a Git stash, it is essential to take some precautions to avoid losing any important work. Sometimes, multiple stashes might exist with different states, and dropping the wrong one can be disastrous. Therefore, it is critical to double-check the correct stash before dropping it.

Double-checking the correct stash to drop

To verify that you are about to drop the correct Git stash, you can run the `git stash list` command again. This command will display all stashes available in your repository with their unique reference numbers or names. You should check this list against your intentions and ensure that you are about to drop only the intended stash.

If you have any doubts or are not sure which Git stash to drop, you can seek help from your colleagues or other experienced developers. Dropping an incorrect Git stash can lead to significant loss of work time and effort.

Creating backups before dropping important stashes

In some situations, it may not be feasible or practical to double-check which Git stash to drop. In such cases, creating a backup of your current repository state before dropping a particular Git stash is an excellent option for taking precautions.

You can create a backup of your current repository state using several methods like creating a new branch or tagging your current commit. Once you have created a backup, proceed with caution when dropping any git stashes.


Git Stash is a powerful tool that allows developers to temporarily store changes without committing them. Dropping a Git Stash can be necessary for a variety of reasons, such as removing accidentally stashed changes or clearing up space.

The steps to drop a Git Stash are straightforward: list all available stashes, identify the one to drop, then drop it using the `git stash drop` command. Alternatively, all stashes can be cleared at once or a specific stash can be applied and dropped using the `git stash clear` and `git stash pop` commands, respectively.

Updated on: 11-Jul-2023

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started