Git Stashing Explained

Git Stashing Explained

Stashing Changes

When working on a project, you might find yourself in a situation where you need to switch branches or pull updates from a remote repository, but you have uncommitted changes that you don't want to lose. This is where Git's stashing feature comes in handy. Stashing allows you to temporarily save your changes without committing them, so you can work on something else and come back to your changes later.

To stash your changes, you can use the following command:

git stash

This command saves your modified tracked files and staged changes to a new stash and reverts your working directory to match the HEAD commit. If you want to include untracked files in your stash, you can use:

git stash -u

Recovering Stashed Changes

When you're ready to continue working on your stashed changes, you can apply them back to your working directory. To see a list of all your stashes, use:

git stash list

This will display a list of stashes, each with an identifier like stash@{0}, stash@{1}, and so on. To apply the most recent stash, use:

git stash apply

If you want to apply a specific stash, you can specify its identifier:

git stash apply stash@{0}

Dropping a Stash

Once you have applied a stash and no longer need it, you can remove it from the stash list. To drop the most recent stash, use:

git stash drop

To drop a specific stash, specify its identifier:

git stash drop stash@{0}

Popping a Stash

If you want to apply a stash and remove it from the stash list in one step, you can use the pop command:

git stash pop

This command applies the most recent stash and then drops it. To pop a specific stash, specify its identifier:

git stash pop stash@{0}

By using these commands, you can effectively manage your uncommitted changes and keep your workflow smooth and organized.

Did you find this article valuable?

Support David Carr by becoming a sponsor. Any amount is appreciated!